Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
CONTENIDO PREFACIO xvii ACERCA DE LOS AUTORES xxiii PARTE UNO PT1.1 Motivación 3 PT1.2 Antecedentes matemáticos 5 PT1.3 Orientación 8 CAPÍTULO 1 Modelos matemáticos y solución de problemas en ingeniería 11 1.1 Un modelo matemático simple 11 1.2 Leyes de conservación e ingeniería 19 Problemas 22 CAPÍTULO 2 Programación y software 26 2.1 Paquetes y programación 26 2.2 Programación estructurada 28 2.3 Programación modular 37 2.4 Excel 38 2.5 MATLAB 42 2.6 Otros lenguajes y bibliotecas 47 Problemas 48 CAPÍTULO 3 Aproximaciones y errores de redondeo 53 3.1 Cifras signifi cativas 54 3.2 Exactitud y precisión 56 3.3 Defi niciones de error 57 3.4 Errores de redondeo 60 Problemas 76 MODELOS, COMPUTADORAS Y ANÁLISIS DEL ERROR 3 Chapra-Preliminares.indd viiChapra-Preliminares.indd vii 6/12/06 13:37:316/12/06 13:37:31 viii CONTENIDO CAPÍTULO 4 Errores de truncamiento y la serie de Taylor 78 4.1 La serie de Taylor 78 4.2 Propagación del error 95 4.3 Error numérico total 99 4.4 Equivocaciones, errores de formulación e incertidumbre en los datos 101 Problemas 103 EPÍLOGO: PARTE UNO 105 PT1.4 Alternativas 105 PT1.5 Relaciones y fórmulas importantes 108 PT1.6 Métodos avanzados y referencias adicionales 108 PARTE DOS PT2.1 Motivación 113 PT2.2 Antecedentes matemáticos 115 PT2.3 Orientación 116 CAPÍTULO 5 Métodos cerrados 120 5.1 Métodos gráfi cos 120 5.2 El método de bisección 124 5.3 Método de la falsa posición 131 5.4 Búsquedas por incrementos y determinación de valores iniciales 138 Problemas 139 CAPÍTULO 6 Métodos abiertos 142 6.1 Iteración simple de punto fi jo 143 6.2 Método de Newton-Raphson 148 6.3 El método de la secante 154 6.4 Raíces múltiples 159 6.5 Sistemas de ecuaciones no lineales 162 Problemas 167 CAPÍTULO 7 Raíces de polinomios 170 7.1 Polinomios en la ciencia y en la ingeniería 170 7.2 Cálculos con polinomios 173 7.3 Métodos convencionales 177 7.4 Método de Müller 177 7.5 Método de Bairstow 181 7.6 Otros métodos 187 RAÍCES DE ECUACIONES 113 Chapra-Preliminares.indd viiiChapra-Preliminares.indd viii 6/12/06 13:37:326/12/06 13:37:32 CONTENIDO ix 7.7 Localización de raíces con bibliotecas y paquetes de software 187 Problemas 197 CAPÍTULO 8 Estudio de casos: raíces de ecuaciones 199 8.1 Leyes de los gases ideales y no ideales (ingeniería química y bioquímica) 199 8.2 Flujo en un canal abierto (ingeniería civil e ingeniería ambiental) 202 8.3 Diseño de un circuito eléctrico (ingeniería eléctrica) 206 8.4 Análisis de vibraciones (ingeniería mecánica e ingeniería aeronáutica) 209 Problemas 216 EPÍLOGO: PARTE DOS 227 PT2.4 Alternativas 227 PT2.5 Relaciones y fórmulas importantes 228 PT2.6 Métodos avanzados y referencias adicionales 228 PARTE TRES PT3.1 Motivación 233 PT3.2 Antecedentes matemáticos 236 PT3.3 Orientación 244 CAPÍTULO 9 Eliminación de Gauss 247 9.1 Solución de sistemas pequeños de ecuaciones 247 9.2 Eliminación de Gauss simple 254 9.3 Difi cultades en los métodos de eliminación 261 9.4 Técnicas para mejorar las soluciones 267 9.5 Sistemas complejos 275 9.6 Sistemas de ecuaciones no lineales 275 9.7 Gauss-Jordan 277 9.8 Resumen 279 Problemas 279 CAPÍTULO 10 Descomposición LU e inversión de matrices 282 10.1 Descomposición LU 282 10.2 La matriz inversa 292 10.3 Análisis del error y condición del sistema 297 Problemas 303 CAPÍTULO 11 Matrices especiales y el método de Gauss-Seidel 305 11.1 Matrices especiales 305 11.2 Gauss-Seidel 310 ECUACIONES ALGEBRAICAS LINEALES 233 Chapra-Preliminares.indd ixChapra-Preliminares.indd ix 6/12/06 13:37:326/12/06 13:37:32 x CONTENIDO 11.3 Ecuaciones algebraicas lineales con bibliotecas y paquetes de software 317 Problemas 324 CAPÍTULO 12 Estudio de casos: ecuaciones algebraicas lineales 327 12.1 Análisis en estado estacionario de un sistema de reactores (ingeniería química/bioingeniería) 327 12.2 Análisis de una armadura estáticamente determinada (ingeniería civil/ambiental) 330 12.3 Corrientes y voltajes en circuitos con resistores (ingeniería eléctrica) 334 12.4 Sistemas masa-resorte (ingeniería mecánica/aeronáutica) 336 Problemas 339 EPÍLOGO: PARTE TRES 349 PT3.4 Alternativas 349 PT3.5 Relaciones y fórmulas importantes 350 PT3.6 Métodos avanzados y referencias adicionales 350 PARTE CUATRO PT4.1 Motivación 353 PT4.2 Antecedentes matemáticos 358 PT4.3 Orientación 360 CAPÍTULO 13 Optimización unidimensional no restringida 363 13.1 Búsqueda de la sección dorada 364 13.2 Interpolación cuadrática 371 13.3 Método de Newton 373 Problemas 375 CAPÍTULO 14 Optimización multidimensional no restringida 377 14.1 Métodos directos 378 14.2 Métodos con gradiente 382 Problemas 396 CAPÍTULO 15 Optimización restringida 398 15.1 Programación lineal 398 15.2 Optimización restringida no lineal 409 15.3 Optimización con bibliotecas y paquetes de software 410 Problemas 422 OPTIMIZACIÓN 353 Chapra-Preliminares.indd xChapra-Preliminares.indd x 6/12/06 13:37:326/12/06 13:37:32 CONTENIDO xi CAPÍTULO 16 Aplicaciones en ingeniería: optimización 424 16.1 Diseño de un tanque con el menor costo (ingeniería química/bioingeniería) 424 16.2 Mínimo costo para el tratamiento de aguas residuales (ingeniería civil/ambiental) 429 16.3 Máxima transferencia de potencia en un circuito (ingeniería eléctrica) 433 16.4 Diseño de una bicicleta de montaña (ingeniería mecánica/aeronáutica) 436 Problemas 440 EPÍLOGO: PARTE CUATRO 447 PT4.4 Alternativas 447 PT4.5 Referencias adicionales 448 PARTE CINCO PT5.1 Motivación 451 PT5.2 Antecedentes matemáticos 453 PT5.3 Orientación 462 CAPÍTULO 17 Regresión por mínimos cuadrados 466 17.1 Regresión lineal 466 17.2 Regresión polinomial 482 17.3 Regresión lineal múltiple 486 17.4 Mínimos cuadrados lineales en general 489 17.5 Regresión no lineal 495 Problemas 499 CAPÍTULO 18 Interpolación 503 18.1 Interpolación polinomial de Newton en diferencias divididas 503 18.2 Polinomios de interpolación de Lagrange 516 18.3 Coefi cientes de un polinomio de interpolación 520 18.4 Interpolación inversa 521 18.5 Comentarios adicionales 522 18.6 Interpolación mediante trazadores (splines) 525 Problemas 537 CAPÍTULO 19 Aproximación de Fourier 539 19.1 Ajuste de curvas con funciones sinusoidales 540 19.2 Serie de Fourier continua 546 19.3 Dominios de frecuencia y de tiempo 551 AJUSTE DE CURVAS 451 Chapra-Preliminares.indd xiChapra-Preliminares.indd xi 6/12/06 13:37:326/12/06 13:37:32 xii CONTENIDO 19.4 Integral y transformada de Fourier 554 19.5 Transformada discreta de Fourier (TDF) 556 19.6 Transformada rápida de Fourier 558 19.7 El espectro de potencia 565 19.8 Ajuste de curvas con bibliotecas y paquetes de software 566 Problemas 575 CAPÍTULO 20 Estudio de casos: ajuste de curvas 578 20.1 Regresión lineal y modelos de población (ingeniería química/ bioingeniería) 578 20.2 Uso de trazadores para estimar la transferencia de calor (ingeniería civil/ambiental) 582 20.3 Análisis de Fourier (ingeniería eléctrica) 584 20.4 Análisis de datos experimentales (ingeniería mecánica/aeronáutica) 585 Problemas 587 EPÍLOGO: PARTE CINCO PT5.4 Alternativas 597 PT5.5 Relaciones y fórmulas importantes 598 PT5.6 Métodos avanzados y referencias adicionales 599 PARTE SEIS PT6.1 Motivación 603 PT6.2 Antecedentes matemáticos 612 PT6.3 Orientación 615 CAPÍTULO 21 Fórmulas de integración de Newton-Cotes 619 21.1 La regla del trapecio 621 21.2 Reglas de Simpson 631 21.3 Integración con segmentos desiguales 640 21.4 Fórmulas de integración abierta 643 21.5 Integrales múltiples 643 Problemas 645 CAPÍTULO 22 Integración de ecuaciones 648 22.1 Algoritmos de Newton-Cotes para ecuaciones 648 22.2 Integración de Romberg 649 22.3 Cuadratura de Gauss 655 22.4 Integrales impropias 663 Problemas 666 DIFERENCIACIÓN E INTEGRACIÓN NUMÉRICAS 603 Chapra-Preliminares.indd xiiChapra-Preliminares.indd xii 6/12/06 13:37:326/12/06 13:37:32 CONTENIDO xiii CAPÍTULO 23 Diferenciación numérica 668 23.1 Fórmulas de diferenciación con alta exactitud 668 23.2 Extrapolación de Richardson 672 23.3 Derivadasde datos irregularmente espaciados 673 23.4 Derivadas e integrales para datos con errores 674 23.5 Integración/diferenciación numéricas con bibliotecas y paquetes de software 676 Problemas 679 CAPÍTULO 24 Estudio de casos: integración y diferenciación numéricas 682 24.1 Integración para determinar la cantidad total de calor (ingeniería química/bioingeniería) 682 24.2 Fuerza efectiva sobre el mástil de un bote de vela de carreras (ingeniería civil/ambiental) 684 24.3 Raíz media cuadrática de la corriente mediante integración numérica (ingeniería eléctrica) 687 24.4 Integración numérica para calcular el trabajo (ingeniería mecánica/aeronáutica) 689 Problemas 693 EPÍLOGO: PARTE SEIS 704 PT6.4 Alternativas 704 PT6.5 Relaciones y fórmulas importantes 705 PT6.6 Métodos avanzados y referencias adicionales 705 PARTE SIETE PT7.1 Motivación 709 PT7.2 Antecedentes matemáticos 713 PT7.3 Orientación 715 CAPÍTULO 25 Métodos de Runge-Kutta 719 25.1 Método de Euler 720 25.2 Mejoras del método de Euler 732 25.3 Métodos de Runge-Kutta 740 25.4 Sistemas de ecuaciones 751 25.5 Métodos adaptativos de Runge-Kutta 756 Problemas 764 CAPÍTULO 26 Métodos rígidos y de pasos múltiples 767 26.1 Rigidez 767 26.2 Métodos de pasos múltiples 771 Problemas 792 ECUACIONES DIFERENCIALES ORDINARIAS 709 Chapra-Preliminares.indd xiiiChapra-Preliminares.indd xiii 6/12/06 13:37:326/12/06 13:37:32 xiv CONTENIDO CAPÍTULO 27 Problemas de valores en la frontera y de valores propios 794 27.1 Métodos generales para problemas de valores en la frontera 795 27.2 Problemas de valores propios 801 27.3 EDO y valores propios con bibliotecas y paquetes de software 814 Problemas 822 CAPÍTULO 28 Estudio de casos: ecuaciones diferenciales ordinarias 825 28.1 Uso de las EDO para analizar la respuesta transitoria de un reactor (ingeniería química/bioingeniería) 825 28.2 Modelos depredador-presa y caos (ingeniería civil/ambiental) 831 28.3 Simulación de la corriente transitoria en un circuito eléctrico (ingeniería eléctrica) 837 28.4 El péndulo oscilante (ingeniería mecánica/aeronáutica) 842 Problemas 846 EPÍLOGO: PARTE SIETE 854 PT7.4 Alternativas 854 PT7.5 Relaciones y fórmulas importantes 855 PT7.6 Métodos avanzados y referencias adicionales 855 PARTE OCHO PT8.1 Motivación 859 PT8.2 Orientación 862 CAPÍTULO 29 Diferencias fi nitas: ecuaciones elípticas 866 29.1 La ecuación de Laplace 866 29.2 Técnica de solución 868 29.3 Condiciones en la frontera 875 29.4 El método del volumen de control 881 29.5 Software para resolver ecuaciones elípticas 884 Problemas 885 CAPÍTULO 30 Diferencias fi nitas: ecuaciones parabólicas 887 30.1 La ecuación de conducción de calor 887 30.2 Métodos explícitos 888 30.3 Un método implícito simple 893 30.4 El método de Crank-Nicolson 896 30.5 Ecuaciones parabólicas en dos dimensiones espaciales 899 Problemas 903 ECUACIONES DIFERENCIALES PARCIALES 859 Chapra-Preliminares.indd xivChapra-Preliminares.indd xiv 6/12/06 13:37:336/12/06 13:37:33 CONTENIDO xv CAPÍTULO 31 Método del elemento fi nito 905 31.1 El enfoque general 906 31.2 Aplicación del elemento fi nito en una dimensión 910 31.3 Problemas bidimensionales 919 31.4 Resolución de EDP con bibliotecas y paquetes de software 923 Problemas 930 CAPÍTULO 32 Estudio de casos: ecuaciones diferenciales parciales 933 32.1 Balance de masa unidimensional de un reactor (ingeniería química/ bioingeniería) 933 32.2 Defl exiones de una placa (ingeniería civil/ambiental) 938 32.3 Problemas de campo electrostático bidimensional (ingeniería eléctrica) 940 32.4 Solución por elemento fi nito de una serie de resortes (ingeniería mecánica/ aeronáutica) 943 Problemas 947 EPÍLOGO: PARTE OCHO 949 PT8.3 Alternativas 949 PT8.4 Relaciones y fórmulas importantes 949 PT8.5 Métodos avanzados y referencias adicionales 950 APÉNDICE A: LA SERIE DE FOURIER 951 APÉNDICE B: EMPECEMOS CON MATLAB 953 BIBLIOGRAFÍA 961 ÍNDICE 965 Chapra-Preliminares.indd xvChapra-Preliminares.indd xv 6/12/06 13:37:336/12/06 13:37:33 MODELOS, COMPUTADORAS Y ANÁLISIS DEL ERROR PT1.1 MOTIVACIÓN Los métodos numéricos constituyen técnicas mediante las cuales es posible formular problemas matemáticos, de tal forma que puedan resolverse utilizando operaciones aritméticas. Aunque existen muchos tipos de métodos numéricos, éstos comparten una característica común: invariablemente requieren de un buen número de tediosos cálculos aritméticos. No es raro que con el desarrollo de computadoras digitales eficientes y rápi- das, el papel de los métodos numéricos en la solución de problemas en ingeniería haya aumentado de forma considerable en los últimos años. PT1.1.1 Métodos sin computadora Además de proporcionar un aumento en la potencia de cálculo, la disponibilidad cre- ciente de las computadoras (en especial de las personales) y su asociación con los mé- todos numéricos han influido de manera muy significativa en el proceso de la solución actual de los problemas en ingeniería. Antes de la era de la computadora los ingenieros sólo contaban con tres métodos para la solución de problemas: 1. Se encontraban las soluciones de algunos problemas usando métodos exactos o analíticos. Dichas soluciones resultaban útiles y proporcionaban una comprensión excelente del comportamiento de algunos sistemas. No obstante, las soluciones analíticas sólo pueden encontrarse para una clase limitada de problemas. Éstos in- cluyen aquellos que pueden aproximarse mediante modelos lineales y también aquellos que tienen una geometría simple y de baja dimensión. En consecuencia, las soluciones analíticas tienen un valor práctico limitado porque la mayoría de los problemas reales son no lineales, e implican formas y procesos complejos. 2. Para analizar el comportamiento de los sistemas se usaban soluciones gráficas, las cuales tomaban la forma de gráficas o nomogramas; aunque las técnicas gráficas se utilizan a menudo para resolver problemas complejos, los resultados no son muy precisos. Además, las soluciones gráficas (sin la ayuda de una computadora) son en extremo tediosas y difíciles de implementar. Finalmente, las técnicas gráficas están limitadas a los problemas que puedan describirse usando tres dimensiones o menos. 3. Para implementar los métodos numéricos se utilizaban calculadoras y reglas de cálcu lo. Aunque en teoría dichas aproximaciones deberían ser perfectamente ade- cuadas para resolver problemas complicados, en la práctica se presentan varias di- ficultades debido a que los cálculos manuales son lentos y tediosos. Además, los resultados no son consistentes, ya que surgen equivocaciones cuando se efectúan los numerosos cálculos de esta manera. Antes del uso de la computadora se gastaba bastante energía en la técnica misma de solución, en lugar de usarla en la definición del problema y su interpretación (figu- ra PT1.1a). Esta situación desafortunada se debía al tiempo y trabajo monótono que se requería para obtener resultados numéricos con técnicas que no utilizaban la compu- tadora. Chapra-01.indd 3Chapra-01.indd 3 6/12/06 13:41:056/12/06 13:41:05 En la actualidad, las computadoras y los métodos numéricos ofrecen una alternati- va para los cálculos complicados. Al usar la potencia de la computadora se obtienen soluciones directamente, de esta manera se pueden aproximar los cálculos sin tener que recurrir a consideraciones de simplificación o a técnicas muy lentas. Aunque las solu- ciones analíticas aún son muy valiosas, tanto para resolver problemas como para brindar una mayor comprensión, los métodos numéricos representan opciones que aumentan, en forma considerable, la capacidad para enfrentar y resolver los problemas; como resulta- do, se dispone de más tiempo para aprovechar las habilidades creativas personales. En consecuencia, es posible dar más importancia a la formulación de un problema y a la interpretación de la solución, así como a su incorporación al sistema total, o conciencia “holística” (figura PT1.1b). PT1.1.2 Los métodos numéricosy la práctica en ingeniería Desde finales de la década de los cuarenta, la amplia disponibilidad de las computado- ras digitales han llevado a una verdadera explosión en el uso y desarrollo de los métodos numéricos. Al principio, este crecimiento estaba limitado por el costo de procesamien- to de las grandes computadoras (mainframes), por lo que muchos ingenieros seguían usando simples procedimientos analíticos en una buena parte de su trabajo. Vale la pena INTERPRETACIÓN La facilidad de calcular permite pensar holísticamente y desarrollar la intuición; es factible estudiar la sensibilidad y el comportamiento del sistema FORMULACIÓN Exposición profunda de la relación del problema con las leyes fundamentales SOLUCIÓN Método de la computadora fácil de usar b) INTERPRETACIÓN Análisis profundo limitado por una solución que consume tiempo FORMULACIÓN Leyes fundamentales explicadas brevemente SOLUCIÓN Métodos muy elaborados y con frecuencia complicados para hacer manejable el problema a) FIGURA PT1.1 Las tres fases en la solución de problemas en ingeniería en a) la era anterior a las computadoras y b) la era de las computadoras. Los tamaños de los recuadros indican el nivel de importancia que se presenta en cada fase. Las computadoras facilitan la implementación de técnicas de solución y, así, permiten un mayor interés sobre los aspectos creativos en la formulación de problemas y la interpretación de los resultados. 4 MODELOS, COMPUTADORAS Y ANÁLISIS DEL ERROR Chapra-01.indd 4Chapra-01.indd 4 6/12/06 13:41:066/12/06 13:41:06 mencionar que la reciente evolución de computadoras personales de bajo costo ha per- mitido el acceso, de mucha gente, a las poderosas capacidades de cómputo. Además, existen diversas razones por las cuales se deben estudiar los métodos numéricos: 1. Los métodos numéricos son herramientas muy poderosas para la solución de pro- blemas. Son capaces de manipular sistemas de ecuaciones grandes, manejar no li- nealidades y resolver geometrías complicadas, comunes en la práctica de la ingeniería y, a menudo, imposibles de resolver en forma analítica. Por lo tanto, aumentan la habilidad de quien los estudia para resolver problemas. 2. En el transcurso de su carrera, es posible que el lector tenga la oportunidad de uti- lizar paquetes disponibles comercialmente, o programas “enlatados” que contengan métodos numéricos. El uso eficiente de estos programas depende del buen entendi- miento de la teoría básica en que se basan tales métodos. 3. Hay muchos problemas que no pueden resolverse con programas “enlatados”. Si usted es conocedor de los métodos numéricos y es hábil en la programación de computadoras, entonces tiene la capacidad de diseñar sus propios programas para resolver los problemas, sin tener que comprar un software costoso. 4. Los métodos numéricos son un vehículo eficiente para aprender a servirse de las computadoras. Es bien sabido que una forma efectiva de aprender programación consiste en escribir programas para computadora. Debido a que la mayoría de los métodos numéricos están diseñados para usarlos en las computadoras, son ideales para tal propósito. Además, son especialmente adecuados para ilustrar el poder y las limitaciones de las computadoras. Cuando usted desarrolle en forma satisfactoria los métodos numéricos en computadora y los aplique para resolver los problemas que de otra manera resultarían inaccesibles, usted dispondrá de una excelente de- mostración de cómo las computadoras sirven para su desarrollo profesional. Al mismo tiempo, aprenderá a reconocer y controlar los errores de aproximación que son inseparables de los cálculos numéricos a gran escala. 5. Los métodos numéricos son un medio para reforzar su comprensión de las matemá- ticas, ya que una de sus funciones es convertir las matemáticas superiores en ope- raciones aritméticas básicas, de esta manera se puede profundizar en los temas que de otro modo resultarían oscuros. Esta perspectiva dará como resultado un aumento de su capacidad de comprensión y entendimiento en la materia. PT1.2 ANTECEDENTES MATEMÁTICOS Cada parte de este libro requiere de algunos conocimientos matemáticos, por lo que el material introductorio de cada parte comprende una sección que incluye los fundamen- tos matemáticos. Como la parte uno, que está dedicada a aspectos básicos sobre las matemáticas y la computación, en esta sección no se revisará ningún tema matemático específico. En vez de ello se presentan los temas del contenido matemático que se cubren en este libro. Éstos se resumen en la figura PT1.2 y son: 1. Raíces de ecuaciones (figura PT1.2a). Estos problemas se relacionan con el valor de una variable o de un parámetro que satisface una ecuación no lineal. Son espe- cialmente valiosos en proyectos de ingeniería, donde con frecuencia resulta impo- sible despejar de manera analítica los parámetros de las ecuaciones de diseño. PT1.2 ANTECEDENTES MATEMÁTICOS 5 Chapra-01.indd 5Chapra-01.indd 5 6/12/06 13:41:066/12/06 13:41:06 2. Sistemas de ecuaciones algebraicas lineales (figura PT1.2b). En esencia, se trata de problemas similares a los de raíces de ecuaciones, en el sentido de que están rela- cionados con valores que satisfacen ecuaciones. Sin embargo, en lugar de satisfacer una sola ecuación, se busca un conjunto de valores que satisfaga simultáneamente un conjunto de ecuaciones algebraicas lineales, las cuales surgen en el contexto de f(x) x Raíz x2 x1 Solución Mínimo f(x) x Interpolación f(x) x f(x) x Regresión f(x) I a) Parte 2: Raíces de ecuaciones Resuelva f(x) = 0 para x. c) Parte 4: Optimización b) Parte 3: Sistema de ecuaciones algebraicas lineales Dadas las a’s y las c’s, resolver a11x1 + a12x2 = c1 a21x1 + a22x2 = c2 para las x’s. Determine la x que da el óptimo de f(x). e) Parte 6: Integración I = �ab f (x) dx Encuentre el área bajo la curva. d) Parte 5: Ajuste de curvas x FIGURA PT1.2 Resumen de los métodos numéricos que se consideran en este libro. 6 MODELOS, COMPUTADORAS Y ANÁLISIS DEL ERROR Chapra-01.indd 6Chapra-01.indd 6 6/12/06 13:41:066/12/06 13:41:06 una gran variedad de problemas y en todas las disciplinas de la ingeniería. En par- ticular, se originan a partir de modelos matemáticos de grandes sistemas de elemen- tos interrelacionados, tal como estructuras, circuitos eléctricos y redes de flujo; aunque también se llegan a encontrar en otras áreas de los métodos numéricos como el ajuste de curvas y las ecuaciones diferenciales. 3. Optimización (figura PT1.2c). En estos problemas se trata de determinar el valor o los valores de una variable independiente que corresponden al “mejor” o al valor óptimo de una función. De manera que, como se observa en la figura PT1.2c, la optimización considera la identificación de máximos y mínimos. Tales problemas se presentan comúnmente en el contexto del diseño en ingeniería. También surgen en otros métodos numéricos. Nosotros nos ocuparemos de la optimización tanto para una sola variable sin restricciones como para varias variables sin restricciones. También describiremos la optimización restringida dando especial énfasis a la pro- gramación lineal. 4. Ajuste de curvas (figura PT1.2d). A menudo se tendrá que ajustar curvas a un con- junto de datos representados por puntos. Las técnicas desarrolladas para tal propó- sito se dividen en dos categorías generales: regresión e interpolación. La primera se emplea cuando hay un significativo grado de error asociado con los datos; con fre- cuencia los datos experimentales son de este tipo. Para estas situaciones, la estrate- gia es encontrar una curva que represente la tendencia general de los datos, sin necesidad de tocar los puntos individuales. En contraste, la interpolación se utiliza cuando el objetivo es determinar valores intermedios entre datos que estén, relati- vamente, libres de error. Tal es el caso de la información tabulada. En dichas situa-ciones, la estrategia consiste en ajustar una curva directamente mediante los puntos obtenidos como datos y usar la curva para predecir valores intermedios. 5. Integración (figura PT1.2e). Como hemos representado gráficamente, la interpreta- ción de la integración numérica es la determinación del área bajo la curva. La inte- y x g) Parte 8: Ecuaciones diferenciales parciales Dada determine u como función de x y y = f (x, y)� 2u �x2 �2u �y2 + t Pendiente = f(ti, yi) y �t ti ti + 1 f ) Parte 7: Ecuaciones diferenciales ordinarias Dada resolver para y como función de t. yi + 1 = yi + f (ti , yi ) �t � = f (t, y) dy dt �y �t FIGURA PT1.2 (Conclusión) PT1.2 ANTECEDENTES MATEMÁTICOS 7 Chapra-01.indd 7Chapra-01.indd 7 6/12/06 13:41:066/12/06 13:41:06 gración tiene diversas aplicaciones en la práctica de la ingeniería, que van desde la determinación de los centroides de objetos con formas extrañas, hasta el cálculo de cantidades totales basadas en conjuntos de medidas discretas. Además, las fórmulas de integración numérica desempeñan un papel importante en la solución de ecua- ciones diferenciales. 6. Ecuaciones diferenciales ordinarias (figura PT1.2f). Éstas tienen una enorme im- portancia en la práctica de la ingeniería, lo cual se debe a que muchas leyes físicas están expresadas en términos de la razón de cambio de una cantidad, más que en términos de la cantidad misma. Entre los ejemplos tenemos desde los modelos de predicción demográfica (razón de cambio de la población), hasta la aceleración de un cuerpo que cae (razón de cambio de la velocidad). Se tratan dos tipos de pro- blemas: problemas con valor inicial y problemas con valores en la frontera. Además veremos el cálculo de valores propios. 7. Ecuaciones diferenciales parciales (figura PT1.2g). Las ecuaciones diferenciales parciales sirven para caracterizar sistemas de ingeniería, en los que el comporta- miento de una cantidad física se expresa en términos de su razón de cambio con respecto a dos o más variables independientes. Entre los ejemplos tenemos la dis- tribución de temperatura en estado estacionario sobre una placa caliente (espacio bidimensional) o la temperatura variable con el tiempo de una barra caliente (tiem- po y una dimensión espacial). Para resolver numéricamente las ecuaciones diferen- ciales parciales se emplean dos métodos bastante diferentes. En el presente texto haremos énfasis en los métodos de las diferencias finitas que aproximan la solución usando puntos discretos (figura PT1.2g). No obstante, también presentaremos una introducción a los métodos de elementos finitos, los cuales usan una aproximación con piezas discretas. PT1.3 ORIENTACIÓN Resulta útil esta orientación antes de proceder a la introducción de los métodos numé- ricos. Lo que sigue está pensado como una vista general del material contenido en la parte uno. Se incluyen, además, algunos objetivos como ayuda para concentrar el esfuer- zo del lector en el estudio de los temas. PT1.3.1 Alcance y presentación preliminar La figura PT1.3 es una representación esquemática del material contenido en la parte uno. Este diagrama se elaboró para ofrecer un panorama global de esta parte del libro. Se considera que un sentido de “imagen global” resulta importante para desarrollar una verdadera comprensión de los métodos numéricos. Al leer un texto es posible que se pierda uno en los detalles técnicos. Siempre que el lector perciba que está perdiendo la “imagen global” vuelva a la figura PT1.3 para orientarse nuevamente. Cada parte de este libro contiene una figura similar. La figura PT1.3 también sirve como una breve revisión inicial del material que se cubre en la parte uno. El capítulo 1 está diseñado para orientarle en los métodos numé- ricos y para motivarlo mostrándole cómo se utilizan dichas técnicas, en el proceso de elaborar modelos matemáticos aplicados a la ingeniería. El capítulo 2 es una introducción 8 MODELOS, COMPUTADORAS Y ANÁLISIS DEL ERROR Chapra-01.indd 8Chapra-01.indd 8 6/12/06 13:41:076/12/06 13:41:07 y un repaso de los aspectos de computación que están relacionados con los métodos numéricos y presenta las habilidades de programación que se deben adquirir para ex- plotar de manera eficiente la siguiente información. Los capítulos 3 y 4 se ocupan del importante tema del análisis del error, que debe entenderse bien para el uso efectivo de los métodos numéricos. Además, se incluye un epílogo que presenta los elementos de juicio que tienen una gran importancia para el uso efectivo de los métodos numéricos. CAPÍTULO 1 Modelos matemáticos y solución de problemas en ingeniería PARTE 1 Modelos, computadoras y análisis del error CAPÍTULO 2 Programación y software CAPÍTULO 3 Aproximaciones y errores de redondeo CAPÍTULO 4 Errores de truncamiento y la serie de Taylor EPÍLOGO 2.6 Otros lenguajes y bibliotecas 2.5 MATLAB 2.4 Excel 2.3 Programación modular 2.2 Programación estructurada 2.1 Paquetes y programación PT1.2 Antecedentes matemáticos PT1.6 Métodos avanzados PT1.5 Fórmulas importantes 4.4 Varios tipos de error 4.3 Error numérico total 4.2 Propagación del error 4.1 La serie de Taylor 3.4 Errores de redondeo 3.1 Cifras significativas 3.3 Definiciones de error 3.2 Exactitud y precisión PT1.4 Alternativas PT1.3 Orientación PT1.1 Motivación 1.2 Leyes de conservación 1.1 Un modelo simple FIGURA PT1.3 Esquema de la organización del material en la parte uno: Modelos, computadoras y análisis del error. PT1.3 ORIENTACIÓN 9 Chapra-01.indd 9Chapra-01.indd 9 6/12/06 13:41:076/12/06 13:41:07 PT1.3.2 Metas y objetivos Objetivos de estudio. Al terminar la parte uno el lector deberá estar preparado para aventurarse en los métodos numéricos. En general, habrá adquirido una comprensión fundamental de la importancia de las computadoras y del papel que desempeñan las aproximaciones y los errores en el uso y desarrollo de los métodos numéricos. Además de estas metas generales, deberá dominar cada uno de los objetivos de estudio específicos que se muestran en la tabla PT1.1. Objetivos de cómputo. Al terminar de estudiar la parte uno, usted deberá tener su- ficientes habilidades en computación para desarrollar su propio software para los méto- dos numéricos de este texto. También será capaz de desarrollar programas de computadora bien estructurados y confiables basándose en seudocódigos, diagramas de flujo u otras formas de algoritmo. Usted deberá desarrollar la capacidad de documen- tar sus programas de manera que sean utilizados en forma eficiente por otros usuarios. Por último, además de sus propios programas, usted deberá usar paquetes de software junto con este libro. Paquetes como MATLAB y Excel son los ejemplos de dicho soft- ware. Usted deberá estar familiarizado con ellos, ya que será más cómodo utilizarlos para resolver después los problemas numéricos de este texto. TABLA PT1.1 Objetivos específi cos de estudio de la parte uno. 1. Reconocer la diferencia entre soluciones analíticas y numéricas. 2. Entender cómo las leyes de la conservación se emplean para desarrollar modelos matemáticos de sistemas físicos. 3. Defi nir diseño modular y top-down. 4. Defi nir las reglas para la programación estructurada. 5. Ser capaz de elaborar programas estructurados y modulares en un lenguaje de alto nivel. 6. Saber cómo se traducen los diagramas de fl ujo estructurado y el seudocódigo al código en un lenguaje de alto nivel. 7. Empezar a familiarizarse con cualquier software que usará junto con este texto. 8. Reconocer la diferencia entre error de truncamiento y error de redondeo. 9. Comprender los conceptos de cifras signifi cativas, exactitud y precisión. 10. Conocer la diferencia entre error relativo verdadero ev, error relativo aproximado ea y error aceptable es y entender cómo ea y es sirven para terminar un cálculo iterativo. 11. Entender cómo se representan los números en las computadoras y cómotal representación induce errores de redondeo. En particular, conocer la diferencia entre precisión simple y extendida. 12. Reconocer cómo la aritmética de la computadora llega a presentar y amplifi car el error de redondeo en los cálculos. En particular, apreciar el problema de la cancelación por sustracción. 13. Saber cómo la serie de Taylor y su residuo se emplean para representar funciones continuas. 14. Conocer la relación entre diferencias fi nitas divididas y derivadas. 15. Ser capaz de analizar cómo los errores se propagan a través de las relaciones funcionales. 16. Estar familiarizado con los conceptos de estabilidad y condición. 17. Familiarizarse con las consideraciones que se describen en el epílogo de la parte uno. 10 MODELOS, COMPUTADORAS Y ANÁLISIS DEL ERROR Chapra-01.indd 10Chapra-01.indd 10 6/12/06 13:41:076/12/06 13:41:07 CAPÍTULO 1 Modelos matemáticos y solución de problemas en ingeniería El conocimiento y la comprensión son prerrequisitos para la aplicación eficaz de cualquier herramienta. Si no sabemos cómo funcionan las herramientas, por ejemplo, tendremos serios problemas para reparar un automóvil, aunque la caja de herramientas sea de lo más completa. Ésta es una realidad, particularmente cuando se utilizan computadoras para resolver problemas de ingeniería. Aunque las computadoras tienen una gran utilidad, son prác- ticamente inútiles si no se comprende el funcionamiento de los sistemas de ingeniería. Esta comprensión inicialmente es empírica —es decir, se adquiere por observación y experimentación—. Sin embargo, aunque esta información obtenida de manera empí- rica resulta esencial, sólo estamos a la mitad del camino. Durante muchos años de ob- servación y experimentación, los ingenieros y los científicos han advertido que ciertos aspectos de sus estudios empíricos ocurren una y otra vez. Este comportamiento general puede expresarse como las leyes fundamentales que engloba, en esencia, el conocimien- to acumulado de la experiencia pasada. Así, muchos problemas de ingeniería se resuel- ven con el empleo de un doble enfoque: el empirismo y el análisis teórico (figura 1.1). Debe destacarse que ambos están estrechamente relacionados. Conforme se obtie- nen nuevas mediciones, las generalizaciones llegan a modificarse o aun a descubrirse otras nuevas. De igual manera, las generalizaciones tienen una gran influencia en la experimentación y en las observaciones. En lo particular, las generalizaciones sirven para organizar principios que se utilizan para sintetizar los resultados de observaciones y experimentos en un sistema coherente y comprensible, del que se pueden obtener conclusiones. Desde la perspectiva de la solución de un problema de ingeniería, el sis- tema es aún más útil cuando el problema se expresa por medio de un modelo matemá- tico. El primer objetivo de este capítulo consiste en introducir al lector a la modelación matemática y su papel en la solución de problemas en ingeniería. Se mostrará también la forma en que los métodos numéricos figuran en el proceso. 1.1 UN MODELO MATEMÁTICO SIMPLE Un modelo matemático se define, de manera general, como una formulación o una ecuación que expresa las características esenciales de un sistema físico o de un proceso en términos matemáticos. En general, el modelo se representa mediante una relación funcional de la forma: Variable variables funciones dependiente = f �independientes, parámetros, de fuerza� (1.1) Chapra-01.indd 11Chapra-01.indd 11 6/12/06 13:41:076/12/06 13:41:07 12 MODELOS MATEMÁTICOS Y SOLUCIÓN DE PROBLEMAS EN INGENIERÍA donde la variable dependiente es una característica que generalmente refleja el com- portamiento o estado de un sistema; las variables independientes son, por lo común, dimensiones tales como tiempo y espacio, a través de las cuales se determina el com- portamiento del sistema; los parámetros son el reflejo de las propiedades o la composi- ción del sistema; y las funciones de fuerza son influencias externas que actúan sobre el sistema. La expresión matemática de la ecuación (1.1) va desde una simple relación algebrai- ca hasta un enorme y complicado grupo de ecuaciones diferenciales. Por ejemplo, a través de sus observaciones, Newton formuló su segunda ley del movimiento, la cual establece que la razón de cambio del momentum con respecto al tiempo de un cuerpo, es igual a la fuerza resultante que actúa sobre él. La expresión matemática, o el modelo, de la segunda ley es la ya conocida ecuación F = ma (1.2) donde F es la fuerza neta que actúa sobre el objeto (N, o kg m/s2), m es la masa del objeto (kg) y a es su aceleración (m/s2). Instauración Resultados numéricos o gráficos Modelo matemático Definición del problema TEORÍA DATOS Herramientas para resolver problemas: computadoras, estadística, métodos numéricos, gráficas, etcétera. Relaciones grupales: programación, optimización, comunicación, interacción pública, etcétera. FIGURA 1.1 Proceso de solución de problemas en ingeniería. Chapra-01.indd 12Chapra-01.indd 12 6/12/06 13:41:086/12/06 13:41:08 La segunda ley puede escribirse en el formato de la ecuación (1.1), dividiendo, simplemente, ambos lados entre m para obtener a F m = (1.3) donde a es la variable dependiente que refleja el comportamiento del sistema, F es la función de fuerza y m es un parámetro que representa una propiedad del sistema. Ob- serve que en este caso específico no existe variable independiente porque aún no se predice cómo varía la aceleración con respecto al tiempo o al espacio. La ecuación (1.3) posee varias de las características típicas de los modelos matemá- ticos del mundo físico: 1. Describe un proceso o sistema natural en términos matemáticos. 2. Representa una idealización y una simplificación de la realidad. Es decir, ignora los detalles insignificantes del proceso natural y se concentra en sus manifestaciones esenciales. Por ende, la segunda ley de Newton no incluye los efectos de la relati- vidad, que tienen una importancia mínima cuando se aplican a objetos y fuerzas que interactúan sobre o alrededor de la superficie de la Tierra, a velocidades y en escalas visibles a los seres humanos. 3. Finalmente, conduce a resultados reproducibles y, en consecuencia, llega a emplear- se con la finalidad de predecir. Por ejemplo, dada la fuerza aplicada sobre un objeto de masa conocida, la ecuación (1.3) se emplea para calcular la aceleración. Debido a su forma algebraica sencilla, la solución de la ecuación (1.2) se obtiene con facilidad. Sin embargo, es posible que otros modelos matemáticos de fenómenos físicos sean mucho más complejos y no se resuelvan con exactitud, o que requieran para su solución de técnicas matemáticas más sofisticadas que la simple álgebra. Para ilustrar un modelo más complicado de este tipo, se utiliza la segunda ley de Newton para deter- minar la velocidad final de la caída libre de un cuerpo que se encuentra cerca de la su- perficie de la Tierra. Nuestro cuerpo en caída libre será el de un paracaidista (figura 1.2). Un modelo para este caso se obtiene expresando la aceleración como la razón de cambio de la velocidad con respecto al tiempo (dv/dt), y sustituyendo en la ecuación (1.3). Se tiene d dt F m v = (1.4) donde v es la velocidad (m/s) y t es el tiempo (s). Así, la masa multiplicada por la razón de cambio de la velocidad es igual a la fuerza neta que actúa sobre el cuerpo. Si la fuer- za neta es positiva, el cuerpo se acelerará. Si es negativa, el cuerpo se desacelerará. Si la fuerza neta es igual a cero, la velocidad del cuerpo permanecerá constante. Ahora expresemos la fuerza neta en términos de variables y parámetros mensurables. Para un cuerpo que cae a distancias cercanas a la Tierra (figura 1.2), la fuerza total está compuesta por dos fuerzas contrarias: la atracción hacia abajo debida a la gravedad FD y la fuerza hacia arriba debida a la resistencia del aire FU. F= FD + FU (1.5) FIGURA 1.2 Representación esquemática de las fuerzas que actúan sobre un paracaidista en descenso. FD es la fuerza hacia abajo debida a la atracción de la gravedad. FU es la fuerza hacia arriba debida a la resistencia del aire. FU FD 1.1 UN MODELO MATEMÁTICO SIMPLE 13 Chapra-01.indd 13Chapra-01.indd 13 6/12/06 13:41:086/12/06 13:41:08 14 MODELOS MATEMÁTICOS Y SOLUCIÓN DE PROBLEMAS EN INGENIERÍA Si a la fuerza hacia abajo se le asigna un signo positivo, se usa la segunda ley de Newton para expresar la fuerza debida a la gravedad como FD = mg (1.6) donde g es la constante gravitacional, o la aceleración debida a la gravedad, que es aproximadamente igual a 9.8 m/s2. La resistencia del aire puede expresarse de varias maneras. Una forma sencilla consiste en suponer que es linealmente proporcional a la velocidad,1 y que actúa en di- rección hacia arriba tal como FU = –cv (1.7) donde c es una constante de proporcionalidad llamada coeficiente de resistencia o arrastre (kg/s). Así, cuanto mayor sea la velocidad de caída, mayor será la fuerza hacia arriba debida a la resistencia del aire. El parámetro c toma en cuenta las propiedades del objeto que cae, tales como su forma o la aspereza de su superficie, que afectan la resis- tencia del aire. En este caso, c podría ser función del tipo de traje o de la orientación usada por el paracaidista durante la caída libre. La fuerza total es la diferencia entre las fuerzas hacia abajo y las fuerzas hacia arriba. Por lo tanto, combinando las ecuaciones (1.4) a (1.7), se obtiene d dt mg c m v v= – (1.8) o simplificando el lado derecho de la igualdad, d dt g c m v v= – (1.9) La ecuación (1.9) es un modelo que relaciona la aceleración de un cuerpo que cae con las fuerzas que actúan sobre él. Se trata de una ecuación diferencial porque está escrita en términos de la razón de cambio diferencial (dv/dt) de la variable que nos interesa predecir. Sin embargo, en contraste con la solución de la segunda ley de Newton en la ecuación (1.3), la solución exacta de la ecuación (1.9) para la velocidad del paracaidista que cae no puede obtenerse mediante simples manipulaciones algebraicas. Siendo ne- cesario emplear técnicas más avanzadas, del cálculo, para obtener una solución exacta o analítica. Por ejemplo, si inicialmente el paracaidista está en reposo (v = 0 en t = 0), se utiliza el cálculo integral para resolver la ecuación (1.9), así v( ) ( – )–( / )t gm c e c m t= 1 (1.10) Note que la ecuación (1.10) es un ejemplo de la forma general de la ecuación (1.1), don- de v(t) es la variable dependiente, t es la variable independiente, c y m son parámetros, y g es la función de fuerza. 1 De hecho, la relación es realmente no lineal y podría ser representada mejor por una relación con potencias como FU = –cv 2. Al fi nal de este capítulo, investigaremos, en un ejercicio, de qué manera infl uyen estas no linealidades en el modelo. Chapra-01.indd 14Chapra-01.indd 14 6/12/06 13:41:086/12/06 13:41:08 EJEMPLO 1.1 1.1 UN MODELO MATEMÁTICO SIMPLE 15 Solución analítica del problema del paracaidista que cae Planteamiento del problema. Un paracaidista con una masa de 68.1 kg salta de un globo aerostático fijo. Aplique la ecuación (1.10) para calcular la velocidad antes de que se abra el paracaídas. Considere que el coeficiente de resistencia es igual a 12.5 kg/s. Solución. Al sustituir los valores de los parámetros en la ecuación (1.10) se obtiene v( ) . ( . ) . ( – ) . ( – )–( . / . ) – .t e et t= =9 8 68 1 12 5 1 53 39 112 5 68 1 0 18355 que sirve para calcular la velocidad del paracaidista a diferentes tiempos, tabulando se tiene t, s v, m/s 0 0.00 2 16.40 4 27.77 6 35.64 8 41.10 10 44.87 12 47.49 • 53.39 De acuerdo con el modelo, el paracaidista acelera rápidamente (figura 1.3). Se alcanza una velocidad de 44.87 m/s (100.4 mi/h) después de 10 s. Observe también que, después de un tiempo suficientemente grande, alcanza una velocidad constante llamada velocidad terminal o velocidad límite de 53.39 m/s (119.4 mi/h). Esta velocidad es constante por- que después de un tiempo la fuerza de gravedad estará en equilibrio con la resistencia del aire. Entonces, la fuerza total es cero y cesa la aceleración. A la ecuación (1.10) se le llama solución analítica o exacta ya que satisface con exactitud la ecuación diferencial original. Por desgracia, hay muchos modelos matemá- ticos que no pueden resolverse con exactitud. En muchos de estos casos, la única alter- nativa consiste en desarrollar una solución numérica que se aproxime a la solución exacta. Como ya se mencionó, los métodos numéricos son aquellos en los que se reformula el problema matemático para lograr resolverlo mediante operaciones aritméticas. Esto puede ilustrarse para el caso de la segunda ley de Newton, observando que a la razón de cambio de la velocidad con respecto al tiempo se puede aproximar mediante (figu- ra 1.4): d dt t t t t t i i i i v v v v≅ = + + ∆ ∆ ( ) – ( ) – 1 1 (1.11) donde ∆v y ∆t son diferencias en la velocidad y en el tiempo, respectivamente, calculadas sobre intervalos finitos, v(ti) es la velocidad en el tiempo inicial ti, y v(ti+1) es la veloci- Chapra-01.indd 15Chapra-01.indd 15 6/12/06 13:41:096/12/06 13:41:09 16 MODELOS MATEMÁTICOS Y SOLUCIÓN DE PROBLEMAS EN INGENIERÍA dad algún tiempo más tarde ti + l. Observe que dv/dt ≅ ∆v/∆t es aproximado porque ∆t es finito. Recordando los cursos de cálculo tenemos que d dt tt v v= → lím ∆ ∆ ∆0 La ecuación (1.11) representa el proceso inverso. 0 0 20 40 4 8 12 t, s v, m /s Velocidad terminal FIGURA 1.3 Solución analítica al problema del paracaidista que cae según se calcula en el ejemplo 1.1. La velocidad aumenta con el tiempo y tiende asintóticamente a una velocidad terminal. FIGURA 1.4 Uso de una diferencia fi nita para aproximar la primera derivada de v con respecto a t. v(ti +1) v(ti ) �v Pendiente verdadera dv/dt Pendiente aproximada �v �t v(ti +1) – v(ti ) ti +1 – ti = ti +1ti t �t Chapra-01.indd 16Chapra-01.indd 16 6/12/06 13:41:096/12/06 13:41:09 A la ecuación (1.11) se le denomina una aproximación en diferencia finita dividida de la derivada en el tiempo ti. Sustituyendo en la ecuación (1.9), tenemos v v v ( ) – ( ) – – ( ) t t t t g c m ti i i i i + + =1 1 Esta ecuación se reordena para obtener v v v( ) ( ) – ( ) ( – )t t g c m t t ti i i i i+ += + ⎡ ⎣⎢ ⎤ ⎦⎥1 1 (1.12) Note que el término entre corchetes es el lado derecho de la propia ecuación diferen- cial [ecuación (1.9)]. Es decir, este término nos da un medio para calcular la razón de cambio o la pendiente de v. Así, la ecuación diferencial se ha transformado en una ecua- ción que puede utilizarse para determinar algebraicamente la velocidad en ti+1, usando la pendiente y los valores anteriores de v y t. Si se da un valor inicial para la velocidad en algún tiempo ti, es posible calcular con facilidad la velocidad en un tiempo posterior ti+1. Este nuevo valor de la velocidad en ti+1 sirve para calcular la velocidad en ti+2 y así sucesivamente. Es decir, a cualquier tiempo, valor nuevo = valor anterior + pendiente × tamaño del paso Observe que esta aproximación formalmente se conoce como método de Euler. EJEMPLO 1.2 Solución numérica al problema de la caída de un paracaidista Planteamiento del problema. Realice el mismo cálculo que en el ejemplo 1.1, pero usando la ecuación (1.12) para obtener la velocidad. Emplee un tamaño de paso de 2 s para el cálculo. Solución. Al empezar con los cálculos (ti = 0), la velocidad del paracaidista es igual a cero. Con esta información y los valores de los parámetros del ejemplo 1.1, se utiliza la ecuación (1.12) para calcular la velocidad en ti+l = 2 s: v = + ⎡ ⎣⎢ ⎤ ⎦⎥ =0 9 8 12 5 68 1 0 2 19 60. – . . ( ) . m/s Para el siguiente intervalo (de t = 2 a 4 s), se repite el cálculo y se obtiene v = + ⎡⎣⎢ ⎤ ⎦⎥ =19 60 9 8 12 5 68 1 19 60 2 32 00. . – . . ( . ) . m/s Se continúa con los cálculos de manera similar para obtener los valores siguientes: 1.1 UN MODELO MATEMÁTICO SIMPLE 17 Chapra-01.indd 17Chapra-01.indd 17 6/12/06 13:41:096/12/06 13:41:09 18 MODELOS MATEMÁTICOS Y SOLUCIÓN DE PROBLEMAS EN INGENIERÍA t, s v, m/s 0 0.00 2 19.60 4 32.00 6 39.85 8 44.82 10 47.97 12 49.96 • 53.39 Los resultados se muestran gráficamente en la figura 1.5, junto con la solución exacta. Como se puede ver, el método numérico se aproxima bastante a la solución exac- ta. Sin embargo, debido a que se emplean segmentos de rectas para aproximar una función que es una curva continua, hay algunas diferencias entre los dos resultados. Una forma de reducir estas diferencias consiste en usar un tamaño de paso menor. Por ejem- plo, si se aplica la ecuación (1.12) con intervalos de 1 s, se obtendría un error menor, ya que los segmentos de recta estarían un poco más cerca de la verdadera solución. Con los cálculos manuales, el esfuerzo asociado al usar incrementos cada vez más pequeños haría poco prácticas tales soluciones numéricas. No obstante, con la ayuda de una compu- tadora personal es posible efectuar fácilmente un gran número de cálculos; por lo tanto, se puede modelar con más exactitud la velocidad del paracaidista que cae, sin tener que resolver la ecuación diferencial en forma analítica. Como se vio en el ejemplo anterior, obtener un resultado numérico más preciso tiene un costo en términos del número de cálculos. Cada división a la mitad del tamaño de paso para lograr mayor precisión nos lleva a duplicar el número de cálculos. Como 0 0 20 40 4 8 12 t, s v, m /s Velocidad terminal o límite Solución analítica, exacta Solución numérica aproximada FIGURA 1.5 Comparación de las soluciones numéricas y analíticas para el problema del paracaidista que cae. Chapra-01.indd 18Chapra-01.indd 18 6/12/06 13:41:096/12/06 13:41:09 vemos, existe un costo inevitable entre la exactitud y la cantidad de operaciones. Esta relación es de gran importancia en los métodos numéricos y constituyen un tema rele- vante de este libro. En consecuencia, hemos dedicado el epílogo de la parte uno para ofrecer una introducción a dicho tipo de relaciones. 1.2 LEYES DE CONSERVACIÓN E INGENIERÍA Aparte de la segunda ley de Newton, existen otros principios importantes en ingeniería. Entre los más importantes están las leyes de conservación. Éstas son fundamentales en una gran variedad de complicados y poderosos modelos matemáticos, las leyes de la conservación en la ciencia y en la ingeniería conceptualmente son fáciles de entender. Puesto que se pueden reducir a Cambio = incremento – decremento (1.13) Éste es precisamente el formato que empleamos al usar la segunda ley de Newton para desarrollar un equilibrio de fuerzas en la caída del paracaidista [ecuación (1.8)]. Pese a su sencillez, la ecuación (1.13) representa una de las maneras fundamentales en que las leyes de conservación se emplean en ingeniería —esto es, predecir cambios con respecto al tiempo—. Nosotros le daremos a la ecuación (1.13) el nombre especial de cálculo de variable-tiempo (o transitorio). Además de la predicción de cambios, las leyes de la conservación se aplican también en casos en los que no existe cambio. Si el cambio es cero, la ecuación (1.3) será Cambio = 0 = incremento – decremento o bien, Incremento = decremento (1.14) Así, si no ocurre cambio alguno, el incremento y el decremento deberán estar en equi- librio. Este caso, al que también se le da una denominación especial —cálculo en esta- do estacionario—, tiene diversas aplicaciones en ingeniería. Por ejemplo, para el flujo Tubería 2 Flujo de entrada = 80 Tubería 3 Flujo de salida = 120 Tubería 4 Flujo de salida = ? Tubería 1 Flujo de entrada = 100 FIGURA 1.6 Equilibrio del fl ujo de un fl uido incompresible en estado estacionario a través de tuberías. 1.2 LEYES DE CONSERVACIÓN E INGENIERÍA 19 Chapra-01.indd 19Chapra-01.indd 19 6/12/06 13:41:106/12/06 13:41:10 20 MODELOS MATEMÁTICOS Y SOLUCIÓN DE PROBLEMAS EN INGENIERÍA de un fluido incompresible en estado estacionario a través de tuberías, el flujo de entra- da debe estar en equilibrio con el flujo de salida, esto es Flujo de entrada = flujo de salida Para la unión de tuberías de la figura 1.6, esta ecuación de equilibrio se utiliza para calcular el flujo de salida de la cuarta tubería, que debe ser de 60. Para la caída del paracaidista, las condiciones del estado estacionario deberían corres- ponder al caso en que la fuerza total fuera igual a cero o [ecuación (1.8) con dv/dt = 0] mg = cv (1.15) Así, en el estado estacionario, las fuerzas hacia abajo y hacia arriba están equilibradas, y en la ecuación (1.15) puede encontrarse la velocidad terminal. v = mg c Aunque las ecuaciones (1.13) y (1.14) pueden parecer triviales, éstas determinan las dos maneras fundamentales en que las leyes de la conservación se emplean en ingenie- ría. Como tales, en los capítulos siguientes serán parte importante de nuestros esfuerzos por mostrar la relación entre los métodos numéricos y la ingeniería. Nuestro primer medio para establecer tal relación son las aplicaciones a la ingeniería que aparecen al final de cada parte del libro. En la tabla 1.1 se resumen algunos de los modelos sencillos de ingeniería y las leyes de conservación correspondientes, que constituirán la base de muchas de las aplicaciones a la ingeniería. La mayoría de aplicaciones de ingeniería química harán énfasis en el balance de masa para el estudio de los reactores. El balance de masa es una consecuen- cia de la conservación de la masa. Éste especifica que, el cambio de masa de un com- puesto químico en un reactor, depende de la cantidad de masa que entra menos la cantidad de masa que sale. Las aplicaciones en ingeniería civil y mecánica se enfocan al desarrollo de modelos a partir de la conservación del momentum. En la ingeniería civil se utilizan fuerzas en equilibrio para el análisis de estructuras como las armaduras sencillas de la tabla. El mismo principio se aplica en ingeniería mecánica, con la finalidad de analizar el movi- miento transitorio hacia arriba o hacia abajo, o las vibraciones de un automóvil. Por último, las aplicaciones en ingeniería eléctrica emplean tanto balances de co- rriente como de energía para modelar circuitos eléctricos. El balance de corriente, que resulta de la conservación de carga, es similar al balance del flujo representado en la figura 1.6. Así como el flujo debe equilibrarse en las uniones de tuberías, la corriente eléctrica debe estar balanceada o en equilibrio en las uniones de alambres eléctricos. El balance de energía especifica que la suma algebraica de los cambios de voltaje alrededor de cualquier malla de un circuito debe ser igual a cero. Las aplicaciones en ingeniería se proponen para ilustrar cómo se emplean actualmente los métodos numéricos en la solu- ción de problemas en ingeniería. Estas aplicaciones nos permitirán examinar la solución a los problemas prácticos (tabla 1.2) que surgen en el mundo real. Establecer la relación entre las técnicas matemáticas como los métodos numéricos y la práctica de la ingeniería es un paso decisivo para mostrar su verdadero potencial. Examinar de manera cuidado- sa las aplicaciones a la ingeniería nos ayudará a establecer esta relación. Chapra-01.indd 20Chapra-01.indd 20 6/12/06 13:41:106/12/06 13:41:10 Estructura Ingeniería civil Conservación del momentum Ingeniería química Campo Dispositivo Principio aplicado Expresión matemática Conservación de la masa Equilibrio de fuerzas: Ingeniería mecánica Conservación del momentumMáquina Equilibrio de fuerzas: Ingeniería eléctrica Conservación de la carga Balance de corriente: Conservación de la energía Balance de voltaje: Balance de la masa: Reactores Entrada Salida En un periodo �masa= entradas – salidas En cada nodo � fuerzas horizontales (FH) = 0 � fuerzas verticales (FV) = 0 En cada nodo � corriente (i ) = 0 Alrededor de cada malla � fems – � caída de potencial en los resistores = 0 � � – � iR = 0 – FV + FV + FH– FH + i2 – i3+ i1+ – Circuito i1R1 i3R3 i2R2 � Fuerza hacia arriba Fuerza hacia abajo x = 0 m = Fuerza hacia abajo – fuerza hacia arribad 2x dt2 TABLA 1.1 Dispositivos y tipos de balances que se usan comúnmente en las cuatro grandes áreas de la ingeniería. En cada caso se especifi ca la ley de conservación en que se fundamenta el balance. 1.2 LEYES DE CONSERVACIÓN E INGENIERÍA 21 Chapra-01.indd 21Chapra-01.indd 21 6/12/06 13:41:116/12/06 13:41:11 22 MODELOS MATEMÁTICOS Y SOLUCIÓN DE PROBLEMAS EN INGENIERÍA TABLA 1.2 Algunos aspectos prácticos que se investigarán en las aplicaciones a la ingeniería al fi nal de cada parte del libro. 1. No lineal contra lineal. Mucho de la ingeniería clásica depende de la linealización que permite soluciones analíticas. Aunque esto es con frecuencia apropiado, puede lograrse una mejor comprensión cuando se revisan los problemas no lineales. 2. Grandes sistemas contra pequeños. Sin una computadora, no siempre es posible examinar sistemas en que intervienen más de tres componentes. Con las computadoras y los métodos numéricos, se pueden examinar en forma más realista sistemas multicomponentes. 3. No ideal contra ideal. En ingeniería abundan las leyes idealizadas. A menudo, hay alternativas no idealizadas que son más realistas pero que demandan muchos cálculos. La aproximación numérica llega a facilitar la aplicación de esas relaciones no ideales. 4. Análisis de sensibilidad. Debido a que están involucrados, muchos cálculos manuales requieren una gran cantidad de tiempo y esfuerzo para su correcta realización. Esto algunas veces desalienta al analista cuando realiza los múltiples cálculos que son necesarios al examinar cómo responde un sistema en diferentes condiciones. Tal análisis de sensibilidad se facilita cuando los métodos numéricos permiten que la computadora asuma la carga de cálculo. 5. Diseño. Determinar el comportamiento de un sistema en función de sus parámetros es a menudo una proposición sencilla. Por lo común, es más difícil resolver el problema inverso; es decir, determinar los parámetros cuando se especifi ca el comportamiento requerido. Entonces, los métodos numéricos y las computadoras permiten realizar esta tarea de manera efi ciente. PROBLEMAS 1.1 Aproximadamente, 60% del peso total del cuerpo correspon- de al agua. Si se supone que es posible separarla en seis regiones, los porcentajes serían los que siguen. Al plasma corresponde 4.5% del peso corporal y 7.5% del total del agua en el cuerpo. Los tejidos conectivos densos y los cartílagos ocupan 4.5% del peso total del cuerpo y 7.5% del total de agua. La linfa intersticial equivale a 12% del peso del cuerpo y 20% del total de agua en éste. El agua inaccesible en los huesos es aproximadamente 7.5% del total de agua corporal y 4.5% del peso del cuerpo. Si el agua intracelular equivale a 33% del peso total del cuerpo y el agua transcelular ocupa 2.5% del total de agua en el cuerpo, ¿qué porcentaje del peso total corporal debe corresponder al agua transcelular, y qué porcentaje del total de agua del cuerpo debe ser el del agua intracelular? 1.2 Un grupo de 30 estudiantes asiste a clase en un salón que mide 10 m por 8 m por 3 m. Cada estudiante ocupa alrededor de 0.075 m3 y genera cerca de 80 W de calor (1 W = 1 J/s). Calcule el incremento de la temperatura del aire durante los primeros 15 minutos de la clase, si el salón está sellado y aislado por com- pleto. Suponga que la capacidad calorífica del aire, Cu, es de 0.718 kJ/(kg K). Suponga que el aire es un gas ideal a 20° C y 101.325 kPa. Obsérvese que el calor absorbido por el aire Q está relacionado con la masa de aire m, la capacidad calorífica, y el cambio en la temperatura, por medio de la relación siguiente: Q m C dT mC T T T T = =∫ 1 2 2 1v v( – ) La masa del aire se obtiene de la ley del gas ideal: PV m RT= Mwt donde P es la presión del gas, V es el volumen de éste, Mwt es el peso molecular del gas (para el aire, 28.97 kg/kmol), y R es la constante del gas ideal [8.314 kPa m3/(kmol K)]. 1.3 Se dispone de la información siguiente de una cuenta ban- caria: Fecha Depósitos Retiros Balance 5/1 1512.33 220.13 327.26 6/1 216.80 378.61 7/1 450.25 106.80 8/1 127.31 350.61 9/1 Utilice la conservación del efectivo para calcular el balance al 6/1, 7/1, 8/1 y 9/1. Demuestre cada paso del cálculo. ¿Este cálcu- lo es de estado estacionario o transitorio? 1.4 La tasa de flujo volumétrico a través de un tubo está dado por la ecuación Q = vA, donde v es la velocidad promedio y A Chapra-01.indd 22Chapra-01.indd 22 6/12/06 13:41:116/12/06 13:41:11 es el área de la sección transversal. Utilice la continuidad volu- métrica para resolver cuál es el área requerida en el tubo 3. 1.5 En la figura P1.5 se ilustran formas distintas en las que un hombre promedio gana o pierde agua durante el día. Se ingiere un litro en forma de comida, y el cuerpo produce en forma me- tabólica 0.3 L. Al respirar aire, el intercambio es de 0.05 L al inhalar, y 0.4 L al exhalar, durante el periodo de un día. El cuer- po también pierde 0.2, 1.4, 0.2 y 0.35 L a través del sudor, la orina, las heces y por la piel, respectivamente. Con objeto de mantener la condición de estado estacionario, ¿cuánta agua debe tomarse por día? 1.6 Para el paracaidista en caída libre con arrastre lineal, supon- ga un primer saltador de 70 kg con coeficiente de arrastre de 12 kg/s. Si un segundo saltador tiene un coeficiente de arrastre de 15 kg/s y una masa de 75 kg, ¿cuánto tiempo le tomará alcan- zar la misma velocidad que el primero adquiera en 10 s? 1.7 Utilice el cálculo para resolver la ecuación (1.9) para el caso en que la velocidad inicial, v(0) es diferente de cero. 1.8 Repita el ejemplo 1.2. Calcule la velocidad en t = 10 s, con un tamaño de paso de a) 1 y b) 0.5 s. ¿Puede usted establecer algún enunciado en relación con los errores de cálculo con base en los resultados? 1.9 En vez de la relación lineal de la ecuación (1.7), elija mode- lar la fuerza hacia arriba sobre el paracaidista como una relación de segundo orden, FU = –c′v2 donde c′ = un coeficiente de arrastre de segundo orden (kg/m). a) Con el empleo del cálculo, obtenga la solución de forma cerrada para el caso en que al inicio el saltador se encuentra en reposo (v = 0 en t = 0). b) Repita el cálculo numérico en el ejemplo 1.2 con los mismos valores de condición inicial y de parámetros. Utilice un valor de 0.225 kg/m para c′. 1.10 Calcule la velocidad de un paracaidista en caída libre con el empleo del método de Euler para el caso en que m = 80 kg y c = 10 kg/s. Lleve a cabo el cálculo desde t = 0 hasta t = 20 s con un tamaño de paso de 1 s. Use una condición inicial en que el paracaidista tiene una velocidad hacia arriba de 20 m/s en t = 0. Suponga que el paracaídas se abre instantáneamente en t = 10 s, de modo que el coeficiente de arrastre sube a 50 kg/s. 1.11 En el ejemplo del paracaidista en caída libre, se supuso que la aceleración debida a la gravedad era un valor constante de 9.8 m/s2. Aunque ésta es una buena aproximación cuando se estu- dian objetos en caída cerca de la superficie de la tierra, la fuerza gravitacional disminuye conforme se acerca al nivel del mar. Una representación más general basada en la ley de Newton del inver- so del cuadrado de la atracción gravitacional, se escribe como g x g R R x ( ) ( ) ( ) = + 0 2 2 donde g(x) = aceleración gravitacional a una altitud x (en m) medida hacia arriba a partir de la superficie terrestre (m/s2), g(0) = aceleración gravitacional en la superficie terrestre (� 9.8 m/s2), y R = el radio de la tierra (� 6.37 ¥ 106 m). a) En forma similar en que se obtuvo laecuación (1.9), use un balance de fuerzas para obtener una ecuación diferencial para la velocidad como función del tiempo que utilice esta representación más completa de la gravitación. Sin embargo, para esta obtención, suponga como positiva la velocidad hacia arriba. b) Para el caso en que el arrastre es despreciable, utilice la regla de la cadena para expresar la ecuación diferencial como función de la altitud en lugar del tiempo. Recuerde que la regla de la cadena es dv dt dv dx dx dt = c) Use el cálculo para obtener la forma cerrada de la solución donde v = v0 en = 0. d) Emplee el método de Euler para obtener la solución numé- rica desde x = 0 hasta 100 000 m, con el uso de un paso de V3,sal = 6 m/s A3 = ? Q2,sal = 20 m 3/sQ1,ent = 40 m 3/s PROBLEMAS 23 Piel Orina CUERPO Comida Bebida Heces Sudor Aire Metabolismo Figura P1.4 Figura P1.5 Chapra-01.indd 23Chapra-01.indd 23 6/12/06 13:41:116/12/06 13:41:11 24 MODELOS MATEMÁTICOS Y SOLUCIÓN DE PROBLEMAS EN INGENIERÍA 10 000 m, donde la velocidad inicial es de 1400 m/s hacia arriba. Compare su resultado con la solución analítica. 1.12 La cantidad de un contaminante radiactivo distribuido uniformemente que se encuentra contenido en un reactor cerrado, se mide por su concentración c (becquerel/litro, o Bq/L). El con- taminante disminuye con una tasa de decaimiento proporcional a su concentración, es decir: tasa de decaimiento = –kc donde k es una constante con unidades de día–1. Entonces, de acuerdo con la ecuación (1.13), puede escribirse un balance de masa para el reactor, así: dc dt kc–= ( ) =de la masacambio por d eecaimientodisminución ( ) a) Use el método de Euler para resolver esta ecuación desde t = 0 hasta 1 d, con k = 0.2 d–1. Emplee un tamaño de paso de ∆t = 0.1. La concentración en t = 0 es de 10 Bq/L. b) Grafique la solución en papel semilogarítmico (p.ej., ln c ver- sus t) y determine la pendiente. Interprete sus resultados. 1.13 Un tanque de almacenamiento contiene un líquido con profundidad y, donde y = 0 cuando el tanque está lleno a la mitad. El líquido se extrae con una tasa de flujo constante Q a fin de satisfacer las demandas. Se suministra el contenido a una tasa senoidal de 3Q sen2(t). Para este sistema, la ecuación (1.13) puede escribirse como d Ay dx Q t Q ( ) –= ( ) 3 sen el volumen cambio en 2 == (flujo de entrada) – (flujo de salida) o bien, como el área de la superficie A es constante dy dx Q A t Q A = 3 sen2 – Emplee el método de Euler para resolver cuál sería la profundi- dad y, desde t = 0 hasta 10 d, con un tamaño de paso de 0.5 d. Los valores de los parámetros son A = 1200 m2 y Q = 500 m3/d. Suponga que la condición inicial es y = 0. 1.14 Para el mismo tanque de almacenamiento que se describe en el problema 1.13, suponga que el flujo de salida no es cons- tante sino que la tasa depende de la profundidad. Para este caso, la ecuación diferencial para la profundidad puede escribirse como dy dx Q A t y A = +3 1 1 5 sen2 – ( ) .α Use el método de Euler para resolver cuál sería la profundidad y, desde t = 0 hasta 10 d, con un tamaño de paso de 0.5 d. Los valores de los parámetros son A = 1200 m2, Q = 500 m3/d, y a = 300. Suponga que la condición inicial es y = 0. 1.15 Suponga que una gota esférica de líquido se evapora a una tasa proporcional al área de su superficie. dV dt kA= − donde V = volumen (mm3), t = tiempo (h), k = la tasa de evapo- ración (mm/h), y A = área superficial (mm2). Emplee el método de Euler para calcular el volumen de la gota desde t = 0 hasta 10 min usando un tamaño de paso de 0.25 min. Suponga que k = 0.1 mm/min, y que al inicio la gota tiene un radio de 3 mm. Evalúe la validez de sus resultados por medio de determinar el radio de su volumen final calculado y la verificación de que es consisten- te con la tasa de evaporación. 1.16 La ley de Newton del enfriamiento establece que la tempe- ratura de un cuerpo cambia con una tasa que es proporcional a la diferencia de su temperatura y la del medio que lo rodea (tem- peratura ambiente). dT dt k T Ta= − −( ) donde T = temperatura del cuerpo (°C), t = tiempo (min), k = constante de proporcionalidad (por minuto), y Ta = temperatu- ra del ambiente (°C). Suponga que una tasa de café tiene origi- nalmente una temperatura de 68°C. Emplee el método de Euler para calcular la temperatura desde t = 0 hasta 10 min, usando un tamaño de paso de 1 min, si Ta = 21°C y k = 0.017/min. 1.17 Las células cancerosas crecen en forma exponencial con un tiempo de duplicación de 20 h cuando tienen una fuente ili- mitada de nutrientes. Sin embargo, conforme las células comien- zan a formar un tumor de forma esférica sin abasto de sangre, el y 0 Figura P1.13 Chapra-01.indd 24Chapra-01.indd 24 6/12/06 13:41:116/12/06 13:41:11 crecimiento en el centro del tumor queda limitado, y eventual- mente las células empiezan a morir. a) El crecimiento exponencial del número de células N puede expresarse como se indica, donde µ es la tasa de crecimiento de las células. Encuentre el valor de µ para las células can- cerosas. dN dt N= µ b) Construya una ecuación que describa la tasa de cambio del volumen del tumor durante el crecimiento exponencial, dado que el diámetro de una célula individual es de 20 micras. c) Una vez que un tipo particular de tumor excede las 500 micras de diámetro, las células del centro del tumor se mueren (pero continúan ocupando espacio en el tumor). Determine cuánto tiempo tomará que el tumor exceda ese tamaño crítico. 1.18 Se bombea un fluido por la red que se ilustra en la figura P1.18. Si Q2 = 0.6, Q3 = 0.4, Q7 = 0.2 y Q8 = 0.3 m3/s, determine los otros flujos. Figura P1.18 Q1 Q10 Q9 Q8 Q3 Q5 Q7Q6Q4Q2 PROBLEMAS 25 Chapra-01.indd 25Chapra-01.indd 25 6/12/06 13:41:126/12/06 13:41:12 CAPÍTULO 2 Programación y software En el capítulo anterior, desarrollamos un modelo matemático a partir de la fuerza total para predecir la velocidad de caída de un paracaidista. Este modelo tenía la forma de una ecuación diferencial, d dt g c m v v= − También vimos que se obtenía una solución de esta ecuación utilizando un método nu- mérico simple, llamado método de Euler, v v v i i id dt t+ = +1 ∆ Dada una condición inicial, se emplea esta ecuación repetidamente para calcular la velocidad como una función del tiempo. Sin embargo, para obtener una buena precisión sería necesario desarrollar muchos pasos pequeños. Hacerlo a mano sería muy laborio- so y tomaría mucho tiempo; pero, con la ayuda de las computadoras tales cálculos pueden realizarse fácilmente. Por ende, nuestro siguiente objetivo consiste en observar cómo se hace esto. En el presente capítulo daremos una introducción al uso de la computadora como una herra- mienta para obtener soluciones de este tipo. 2.1 PAQUETES Y PROGRAMACIÓN En la actualidad existen dos tipos de usuarios de software. Por un lado están aquellos que toman lo que se les da. Es decir, quienes se limitan a las capacidades que encuentran en el modo estándar de operación del software existente. Por ejemplo, resulta muy sen- cillo resolver un sistema de ecuaciones lineales o generar una gráfica con valores x-y con Excel o con MATLAB. Como este modo de operación por lo común requiere un mínimo esfuerzo, muchos de los usuarios adoptan este modo de operación. Además, como los diseñadores de estos paquetes se anticipan a la mayoría de las necesidades tí- picas de los usuarios, muchos de los problemas pueden resolverse de esta manera. Pero, ¿qué pasa cuando se presentan problemas que están más allá de las capacida- des estándar de dichas herramientas? Por desgracia, decir “Lo siento jefe, pero no lo sé hacer” no es algo aceptado en la mayoría de los círculos de la ingeniería. En tales casos usted tiene dos alternativas. La primera sería buscar otro paquete y ver si sirve para resolver el problema. Ésta es una de las razones por las que quisimos usartanto Excel como MATLAB en este libro. Como veremos, ninguno de los dos abarca todo y cada uno tiene sus ventajas. Chapra-02.indd 26Chapra-02.indd 26 6/12/06 13:43:396/12/06 13:43:39 Sabiendo usar ambos, se amplía de forma notable el rango de problemas que pueden resolverse. La segunda sería que es posible volverse un “potente usuario” si se aprende a escri- bir macros en Excel VBA1 o archivos M (M-files) en MATLAB. ¿Y qué son tales cues- tiones? No son más que programas computacionales que permiten ampliar la capacidad de estas herramientas. Como los ingenieros nunca se sentirán satisfechos al verse limi- tados por las herramientas, harán todo lo que sea necesario para resolver sus problemas. Una buena manera de lograrlo consiste en aprender a escribir programas en los ambien- tes de Excel y MATLAB. Además, las habilidades necesarias para crear macros o ar- chivos M (M-files) son las mismas que se necesitan para desarrollar efectivamente programas en lenguajes como Fortran 90 o C. El objetivo principal del capítulo es enseñarle cómo se hace esto. Sin embargo, supondremos que usted ya ha tenido contacto con los rudimentos de la programación y, por tal razón, destacaremos las facetas de la programación que afectan directamente su uso en la solución de problemas en ingeniería. 2.1.1 Programas computacionales Los programas computacionales son únicamente conjuntos de instrucciones que dirigen a la computadora para realizar una cierta tarea. Hay mucha gente que escribe programas para un amplio rango de aplicaciones en los lenguajes de alto nivel, como Fortran 90 o C, porque tienen una gran variedad de capacidades. Aunque habrá algunos ingenieros que usarán toda la amplia gama de capacidades, la mayoría sólo necesitará realizar los cálculos numéricos orientados a la ingeniería. Visto desde esta perspectiva, reducimos toda esa complejidad a unos cuantos tópicos de programación, que son: • Representación de información sencilla (declaración de constantes, variables y ti- pos) • Representación de información más compleja (estructuras de datos, arreglos y re- gistros) • Fórmulas matemáticas (asignación, reglas de prioridad y funciones intrínsecas) • Entrada/Salida • Representación lógica (secuencia, selección y repetición) • Programación modular (funciones y subrutinas) Como suponemos que el lector ya ha tenido algún contacto con la programación, no dedicaremos mucho tiempo en las cuatro primeras áreas. En lugar de ello, las pre- sentamos como una lista para que el lector verifique lo que necesitará saber para desa- rrollar los programas que siguen. No obstante, sí dedicaremos algún tiempo a los dos últimos tópicos. Destacaremos la representación lógica porque es el área que más influye en la coherencia y la compren- sión de un algoritmo. Trataremos la programación modular porque también contribuye de manera importante en la organización de un programa. Además, los módulos son un medio para almacenar algoritmos utilizados frecuentemente en un formato adecuado para aplicaciones subsecuentes. 1 VBA son las siglas de Visual Basic for Applications. 2.1 PAQUETES Y PROGRAMACIÓN 27 Chapra-02.indd 27Chapra-02.indd 27 6/12/06 13:43:406/12/06 13:43:40 28 PROGRAMACIÓN Y SOFTWARE 2.2 PROGRAMACIÓN ESTRUCTURADA En los comienzos de la computación, los programadores no daban mucha importancia a que sus programas fueran claros y fáciles de entender. Sin embargo, hoy se reconoce que escribir programas organizados y bien estructurados tiene muchas ventajas. Además de las ventajas obvias de tener un software más accesible para compartirlo, también ayuda a generar programas mucho más eficientes. Es decir, algoritmos bien estructura- dos, que son invariablemente mucho más fáciles de depurar y de probar, lo que resulta en programas que toman menos tiempo desarrollar, probar y actualizar. Los científicos de la computación han estudiado sistemáticamente los factores y los procedimientos necesarios para desarrollar software de alta calidad de este tipo. En esencia la programación estructurada es un conjunto de reglas que desarrollan en el programador los hábitos para lograr un buen estilo. Aunque la programación estructu- rada es bastante flexible para permitir considerable creatividad y expresión personal, sus reglas imponen suficientes restricciones para hacer que los programas resultantes sean muy superiores a sus versiones no estructuradas. En particular, el producto terminado es mucho más elegante y fácil de entender. La idea clave detrás de la programación estructurada es que cualquier algoritmo numérico requiere tan sólo de tres estructuras de control fundamentales: secuencia, se- lección y repetición. Limitándonos a dichas estructuras el programa resultante será claro y fácil de seguir. En los párrafos siguientes describiremos cada una de estas estructuras. Para man- tener esta descripción de una manera general usaremos diagramas de flujo y seudocó- digo. Un diagrama de flujo es una representación visual o gráfica de un algoritmo. Un diagrama de flujo emplea una serie de cajas o bloques y flechas, cada una de las cuales representa un determinado paso u operación del algoritmo (figura 2.1). Las flechas re- presentan el orden en el que se realizarán las operaciones. No todas las personas relacionadas con la computación están de acuerdo en que los diagramas de flujo sean una buena opción. Incluso, algunos programadores experimen- tados no usan los diagramas de flujo. Sin embargo, nosotros pensamos que existen tres buenas razones para estudiarlos. La primera es que sirven para expresar y comunicar algoritmos. La segunda es que aunque no se empleen de manera rutinaria, algunas veces resultarán útiles para planear, aclarar o comunicar la lógica del propio programa o del de otra persona. Por último, que es lo más importante para nuestros objetivos, son exce- lentes herramientas didácticas. Desde el punto de vista de la enseñanza, son los medios ideales para visualizar algunas de las estructuras de control fundamentales que se em- plean en la programación. Otra manera de expresar algoritmos, y que constituye un puente de unión entre los diagramas de flujo y el código de la computadora, es el seudocódigo. En esta técnica se utilizan expresiones semejantes a las del código, en lugar de los símbolos gráficos del diagrama de flujo. En esta obra, para el seudocódigo hemos adoptado algunas conven- ciones de estilo. Escribiremos con mayúsculas las palabras clave como IF, DO, INPUT, etc., mientras que las condiciones, pasos del proceso y tareas irán en minúsculas. Además, los pasos del proceso se escribirán en forma indentada. De esta manera las palabras clave forman un “sandwich” alrededor de los pasos para definir visualmente lo que abarca cada estructura de control. Chapra-02.indd 28Chapra-02.indd 28 6/12/06 13:43:406/12/06 13:43:40 Una ventaja del seudocódigo es que con él resulta más fácil desarrollar un programa que con el diagrama de flujo. El seudocódigo es también más fácil de modificar y de compartir con los demás. No obstante, los diagramas de flujo, debido a su forma gráfi- ca, resultan a veces más adecuados para visualizar algoritmos complejos. Nosotros emplearemos diagramas de flujo con fines didácticos, y el seudocódigo será el principal medio que usaremos para comunicar algoritmos relacionados con métodos numéricos. 2.2.1 Representación lógica Secuencia. La estructura secuencial expresa la trivial idea de que, a menos que se indique otra cosa, el código debe realizarse instrucción por instrucción. Como en la fi- gura 2.2, la estructura se puede expresar de manera general como un diagrama de flujo o como un seudocódigo. Selección. En contraste con el paso por paso de la estructura secuencial, la selección nos ofrece un medio de dividir el flujo del programa en ramas considerando el resultado de una condición lógica. La figura 2.3 muestra las dos principales maneras de hacer esto. La decisión ante una sola alternativa,
Compartir