941

Click here to load reader

Chapra-Metodos Numericos Para Ingenieros4ed

Embed Size (px)

DESCRIPTION

Chapra numerical methods 4e spanish

Citation preview

  • LIBROS UNIVERISTARIOS Y SOLUCIONARIOS DE MUCHOS DE ESTOS LIBROS GRATIS EN

    DESCARGA DIRECTA

    SIGUENOS EN:

    VISITANOS PARA DESARGALOS GRATIS.

  • PARTE UNO

    MODELOS, COMPUTADORAS Y ANLISIS DEL ERROR 3

    CONTENIDO

    PT 1 . 1 Motivacin 3 PT 1.2 Fundamentos matemticos 5 PT 1 .3 Orientacin 8

    CAPTULO 1 Modelos matemticos y solucin de problemas de ingeniera 11

    1 . l Un modelo matemtico simple 11 1.2 Leyes de conservacin e ingeniera 18 Problemas 22

    CAPTULO 2 Computadoras y programas 25

    2.1 La computacin y su entorno 26 2.2 Desarrollo de programas 27 2.3 Diseo de algoritmos 31 2.4 Composicin de programas 42 2.5 Control de calidad 45 2.6 Documentacin y mantenimiento 49 2.7 Estrategia de programacin 51 Problemas 55

    )

    ( CAPTULO 3 Aproximaciones y errores de redondeo 59 3 .1 Cifras significativas 60 -"

    1 3.2 Exactitud y precisin 62 3.3 Definiciones de error 63 3 .4 Errores de redondeo 66 Problemas 82

    CAPTULO 4 Serie de Taylor y errores de truncamiento 84

    4.1 Las series de T aylor 84 4.2 Error de propagacin 101 4.3 Error numrico total 106 4.4 Eq~ivocaciones, errores de formulacin e incertidumbre en los datos Problemas 1 09

    EPLOGO: PARTE UNO 111

    108

    ~, iibr"" ~

    1 '

    '

    PT 1 .4 Elementos de juicio 111 ~ PT 1 .5 Relaciones y frmulas importantes 114

    PT ~~-M_e_''_d_o_s __ _v_a_nz...:..c_d_os y clgun.Js ref-er_e_n_ci_a_s_a_d-1c-io_n_a_le_s_1_1_4______ . /

  • xli

    PARTE DOS

    RACES DE ECUACIONES 119

    CONTENIDO

    PT 2.1 Motivacin 119 PT 2. 2 Antecedentes matemticos 1 21 PT 2.3 Orientacin 123

    CAPTULO 5 Mtodos de intervalos 127

    5.1 Mtodos grficos 127 t 5.2 Mtodo de biseccin 131

    , 5.3 Mtodo de la falsa posicin 141 5.4 Bsquedas con incrementos y determinacin de valores iniciales 147 Problemas 148

    CAPTULO 6 Mtodos abiertos 150

    6.1 Iteracin simple de punto fijo 151 ~ 6.2 Mtodo de Newton-Raphson 156 " 6.3 Mtodo de la secante 162

    6.4 Races mltiples 167 6.5 Sistemas de ecuaciones no lineales Problemas 175

    CAPTULO 7 Raz de polinomios 177

    170

    7.1 Polinomios en ciencia e ingeniera 177 7.2 Clculo con polinomios 180 7.3 Mtodos convencionales 184 7.4 Mtodo de Mller 184 7.5 Mtodo de Bairstow 188 7.6 Otros mtodos 194 7.7 Localizacin de races con libreras y paquetes de cmputo 194 Problemas 204

    CAPTULO 8 Aplicaciones en ingeniera: races de ecuaciones 206

    8.1 Leyes de los gases ideales y no ideales (ingeniera qumica e ingeniera petrolera} 206

    8.2 Flujo en un canal abierto (ingeniera civil e ingeniera ambiental) 209 8.3 Diseo de un circuito elctrico (ingeniera elctrica} 213 8.4 Anlisis de vibraciones (ingeniera mecnica e ingeniera aeroespacial) 215 Problemas 223

    EPLOGO: PARTE DOS 229 PT 2.4 Elementos de juicio 229 PT 2.5 Relaciones importantes y frmulas 232 PT 2.6 Mtodos avanzados y referencias adicionales 232

    1 1

  • lr ~I , ) i 1 (

    'H (1 . '

    \r I

    _________ CO_NT_E_N_ID_O _________________ _-_--_--~ PARTE TRES

    ECUACIONES ALGEBRAICAS LINEALES 235

    PT 3. 1 Motivacin 235 PT 3.2 Antecedentes matemticos 238 PT 3.3 Orientacin 245

    CAPTULO 9 Eliminacin de Gauss 249

    9. 1 Resolucin de pequeos conjuntos de ecuaciones 249 9.2 Eliminacin de Gauss simple 256 9.3 Desventajas de los mtodos de eliminacin 263 9.4 Tcnicas para mejorar las soluciones 269 9.5 Sistemas complejos 276 9.6 Sistemas de ecuaciones no lineales 277 9 .7 Guss-Jordan 279 9.8 Resumen 281

    \ Problemas 281

    CAPTULO 10 Descomposicin LU e inversin de matrices 284

    1O.1 Descomposicin LU 284 10.2 Matriz inversa 2-94 10.3 Anlisis de error y condicin del sistema 298 Problemas 306

    CAPTULO 11 Matrices especiales y el mtodo de Gauss-Seidel 307

    11. 1 Matrices especiales 307 ~ 1 .2 Gauss-Seidel 311 11 .3 Ecuaciones algebraicas lineales con libreras y paquetes de software 319 Problemas 327

    CAPTULO 12 Aplicaciones en la ingeniera: ecuaciones algebraicas lineales 329

    12. 1 Anlisis en estado estable de un sistema de reactores (ingeniera qumica/ petrolera) 329

    12.2 Anlisis de una estructura estticamente determinada (ingeniera civil/ ambiental) 332

    12.3 Corrientes y voltajes en circuitos de resistores (ingeniera elctrica) 336 12.4 Sistemas masa-resorte (ingeniera mecnica/aeroespacial) 338 Problemas 341

    EPLOGO: PARTE TRES 348 PT 3 .4 Elementos de juicio 348 PT 3 .5 Relaciones importantes y frmulas 349 PT 3.6 Mtodos avanzados y referencias adicionales 349

    -- ----- ----- --~-------~~~-----------~--~---------------"--

  • XIV

    PARTE CUATRO

    OPllMIZACIN 353

    PARTE CINCO AJUSTE DE CURVAS 449

    -. - - --~

    CONTENIDO

    PT 4.1 Motivacin 353 PT 4.2 Bases matemticas 359 PT 4.3 Orientacin 360

    CAPTULO 13 Optimizacin unidimensional no restringida 364 13.1 Bsqueda de la seccin dorada 365 13.2 Interpolacin cuadrtica 372 13 .3 Mtodo de Newton 37 4 Problemas 376

    CAPTULO 14 Optimizacin multidimensional sin restricciones 378 14.1 Mtodos directos 378 14.2 Mtodos gradiente 383 Problemas 397

    CAPTULO 15 Optimizacin restringida 399 15.1 Programacin lineal 399 15.2 Optimizacin restringida no lineal 411 15.3 Optimizacin con paquetes de software 411 Problemas 421

    CAPTULO 16 Aplicaciones en la ingeniera: optimizacin 424 16. l Diseo de un tanque con el menor costo (ingeniera qumica/petrolera) 424 16.2 Mnimo costo en tratamiento de aguas de desecho (ingeniera civil/

    ambiental) 429 16.3 Mxima transferencia de potencia para un circuito (ingeniera elctrica) 434 16.4 Diseo de una bicicleta de montaa (ingeniera mecnica/aeroespacial) 438 Problemas 440

    EPLOGO: PARTE CUATRO 446 PT 4.4 Elementos de juicio 446 PT 4.5 Referencias adicionales 447

    PT 5.1 Motivacin 449 PT 5. 2 Antecedentes matemticos 451 PT 5.3 Orientacin 461

    CAPTULO 17 Regresin por mnimos cuadrados 17. l Regresin lineal 465 17.2 Regresin de polinomios 481 17.3 Regresin lineal mltiple 487

    465

    PARl

    DIFEF NUM

    INTE~

  • CONTENIDO ~~'~i ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    PARTE SEIS

    DIFERENCIACIN NUMRICA E INTEGRACIN 601

    17.4 Forma general ineal por mnimos cuadrados 490 17.5 Regresin no lineal 496 Problemas 500

    CAPTULO 18 ;::..._ Interpolacin l 50~ , 18.1 Diferencia dividida de Newton para la interpolacin de polinomios 503 18 .2 Interpolacin de polinomios de Lagrange 515 18 .3 Coeficientes de un polinomio de interpolacin 519 18.4 Interpolacin inversa 520 1 8 .5 Comentarios adicionales 521 18.6 Interpolacin segmentara 524 Problemas 534

    CAPTULO 19 Aproximacin de Fourier 537 19.1 Ajuste de curvas con funciones sinusoidales 538 19.2 Serie de Fourier continua 544 1 9 .3 Frecuencia y dominios de tiempo 548 19.4 Integral y transformada de Fourier 552 19.5 Transformada discreta de Fourier (TDF) 554 19 .6 Transformada rpida de Fourier 556 1 9 .7 El espectro de potencia 563 19.8 Ajuste de curvas con librei'as y paquetes 564 Problemas 576

    CAPTULO 20 Aplicaciones en ingeniera: ajuste de curvas 578 20.1 Regresin lineal y modelos de poblacin.(ingeniera qumica/petrolera) 578 20.2 Uso de segmentaras para estimar la transferencia de calor (ingeniera civil/

    ambiental) 582 20.3 Anlisis de Fourier (ingeniera elctrica) 583 20.4 Anlisis de datos experimentales (ingeniera mecnica/aeroespacial) 585 Problemas 587

    EPLOGO: PARTE CINCO 594 PT 5.4 Elementos de juicio 594 PT 5.5 Relaciones importantes y frmulas 595 PT 5.6 Mtodos avanzados y referencias adicionales 597

    PT 6. 1 Motivacin 601 PT 6.2 Antecedentes matemticos 611 PT 6.3 Orientacin 613

    CAPTULO 21 Frmulas de integracin de Newton-Cotes 617 21 . 1 La regla trapezoidal 619 21 . 2 Regios de Slmpson 630

    1 \

    ~

    j

    {\ l ~ ~

    i'

    \ !

    e ' !

    '

  • RTE SIETE

    UACIONES 11RENCIALES :DINARIAS 703

    ..

    SPNTENIDO

    21 .3 Integracin con segmentos desiguales 640 21 .4 Frmulas de integracin abierta 643 Problemas 644

    CAPTULO 22 Integracin de ecuaciones 646 22.1 Algoritmos de Newton-Cotes para ecuaciones 646 22.2 Integracin de Romberg 647 22.3 Cuadratura de Gauss 653 22.4 Integrales impropias 661 Problemas 665

    CAPTULO 23 Diferenciacin numrica 666 23. 1 Diferenciacin de frmulas con alta exactitud 666 23.2 Extrapolacin de Richardson 669 23.3 Derivadas de datos desigualmente espaciados 671 23.4 Derivadas e integrales para datos con errores 672 23 .5 Integracin/ diferenciacin numrica con libreras y paquetes 67 4 Problemas 678

    CAPTULO 24 Aplicaciones en la ingeniera: integracin numrica y diferenciacin 680 24. 1 Integracin para determinar la cantidad total de calor {ingeniera qumica/

    petrolera) 680 24.2 Fuerza efectiva sopre el mstil de un bote de carreras (ingeniera civil/

    ambiental) 682 24.3 Raz media cuq8rtica de la corriente por integracin numrica {ingeniera

    elctrica) 685 24.4 Integracin numrica para calcular el trabajo (ingeniera mecnica/

    aeroespacial) 687 Problemas 691

    EPLOGO: PARTE SEIS 698 PT 6.4 Elementos de juicio 698 PT 6.5 Relaciones importantes y frmulas 699 PT 6.6 Mtodos avanzados y referencias adicionales 699

    PT 7.1 Motivacin 703 PT 7.2 Antecedentes matemticos 706 PT 7.3 Orientacin 709

    CAPTULO 25 Mtodos de Runge-Kutta 714 25.1 Mtodo de Euler 715 ~ 25.2 Mejoras del mfodo de Euler 728 25.3 Mtodos de Runge-Kutta 736

    PARTE OCI ECUACIOf'tl DIFERENCI PARCIALE!

  • 680

    PARTE OCHO

    ECUACIONES DIFERENCIALES PARCIALES 855

    CONTENIDO

    25.4 Sistemas de ecuaciones 7 48 25.5 Mtodos adaptativos de Runge-Kutta 753 Problemas 7 61

    CAPTULO 26 Mtodos rgidos y de multipaso 763 26.1 Rigidez 763 26.2 Mtodos multipaso 767 Problemas 788

    CAPTULO 27

    ...

    Problemas de valores en la frontera y de valores propios 790 27.1 Mtodos generales para problemas de valores en la frontera 791 27.2 Problemas de valores propios 797 27 .3 EDO y valores propios con libreras y paquetes 815 Problemas 823

    CAPTULO 28 Aplicaciones en ingeniera: ecuaciones diferenciales ordinarias 825 28.1 Uso de EDO para analizar la respuesta transitoria de un reactor (ingeniera

    qumica/petrolera) 825 28.2 Modelos depredador-presa y caos (ingeniera civil/ambiental) 832 28 .3 Simulacin de corriente transitoria para un circuito elctrico (ingeniera

    elctrica) 835 28.4 El pndulo oscilante (ingeniera mecnica/aeroespacial) 841 Problemas 845

    EPLOGO: PARTE SIETE 849 PT 7.4 Elementos de juicio 849 PT 7.5 Relaciones y frmulas importantes 850 PT 7.6 Mtodos avanzados y referencias adicionales 850

    PT 8.1 Motivacin 855 PT 8.2 Orientacin 859

    CAPTULO 29 Diferencias finitas: ecuaciones elpticas 862 29. 1 La ecuacin de La place 862 29.2 Tcnica de solucin 864 29.3 Condiciones en la frontera 871 29.4 La aproximacin del volumen de control 877 29.5 Software para resolver ecuaciones elpticas 880 Problemas 881

    CAPTULO 30 Diferencias finitas: ecuaciones parablicas 883 30.1 Ecuacin de conduccin del calor 883 30.2 Mtodos explcitos 884

    /

    d

  • ,..

    xviii CONTENIDO

    30.3 Un mtodo implcito simple 889 30.4 El mtodo de Crank-Nicolson 892 30.5 Ecuaciones parablicas en dos dimensiones espaciales 895 Problemas 899

    CAPTULO 31 Mtodo del elemento finito 900 31 .1 El enfoque general 901 31 .2 Aplicacin del elemento finito en una dimensin 905 31 .3 Problemas en dos dimensiones 914 31 .4 EDP con libreras y paquetes 918 Problemas 927

    CAPTULO 32 Aplicaciones en ingeniera: ecuaciones diferenciales parciales 928 32.1 Balance de masa en una dimensin de un reactor (ingeniera qumica/

    petrolera} 928 32.2 Deflexiones de una placa (ingeniera civil/ambiental) 933 32.3 Problemas de campo electrosttico en dos dimensiones (ingeniera elctrica) 935 32.4 Solucin por elemento finito a una serie de resortes (ingeniera mecnica/

    aeroespacial) 938 Problemas 942

    EPLOGO: PARTE OCHO 944 PT 8.3 Elementos de juicio 944 PT 8.4 Relaciones y frmulas importantes 945 PT 8.5 Mtodos avanzados y referencias adicionales 945

    APNDICE A: LAS SERIES DE FOURIER 946

    APNDICE B: EMPECEMOS CON MATHCAD 948

    APNDICE C: EMPECEMOS CON MATHLAB 958

    BIBLIOGRAFA 967

    NDICE 971

    -

    ' ..

  • MODELOS, COMPUTADORA ~

    Y ANALISIS DEL ERROR

    PT1 .1 MOTIVACIN Los mtodos numricos son tcnicas mediante las cuales es posible formular problemas matemticos de tal forma que puedan resolverse usando operaciones aritmticas. Aun-que hay muchos tipos de mtodos numricos, comparten una caracterstica comn: inva-riablemente se debe realizar un buen nmero de tediosos clculos aritmticos. No es raro que con el desarrollo de computadoras digitales eficientes y rpidas, el papel de los mtodos numricos en la solucin de problemas de ingeniera haya aumentado en forma considerable en los ltimos aos.

    PT 1. 1. 1 Mtodos sin computadora

    Adems de proporcionar un aumento en la potencia de clculo, la disponibilidad general de las computadoras (especialmente de las personales) y su asociacin con los mtodos numricos ha influido de manera muy significativa en el proceso de la solucin de pro-blemas de ingeniera. Antes de la computadora los ingenieros slo contaban con tres mtodos para la solucin de problemas:

    l. Se encontraban las soluciones de algunos problemas usando mtodos exactos o ana-lticos. Con frecuencia estas soluciones resultaban tiles y proporcionaban una com-prensin excelente del comportamiento de algunos sistemas. Sin embargo, las soluciones analticas slo pueden encontrarse para una clase limitada de problemas. stos incluyen a los que pueden aproximarse mediante modelos lineales y tambin aquellos que tienen una geometra simple y pocas dimensiones. En consecuencia, las soluciones analticas tienen valor prctico limitado porque la mayora de los problemas reales no son de tipo lineal, e implican formas y procesos complejos.

    2. Para analizar el comportamiento de los sistemas se usaba soluciones grficas. s-tas tomaban la forma de grficas o nomogramas; aunque las tcnicas grficas a menudo pueden emplearse para resolver problemas complejos, los resultados no son muy precisos. Adems, las soluciones grficas (sin la ayuda de una computado-ra) son en extremo tediosas y difciles de implementar. Finalmente, las tcnicas grficas estn limitadas a los problemas que puedan describirse usando tres dimen-siones o menos.

    3. Para implementar los mtodos numricos se utilizaban calculadoras :y reglas de clcu-lo. Aunque en teora estas aproximaciones deberan ser perfectamente adecuadas para resolver problemas complicados, en la p~ctica se presentan algunas dificulta-des. Los clculos manuales son lentos y tediosos. Adems, los resultados no son consistentes, debido a que surgen equivocaciones cuando se efectan las tareas dt esta manera.

  • MODELOS, COMPUTADORAS Y ANLISIS DEL ERROR ------------------------------------- ---------------

    FIGURA PTl. 1 Las tres fases en la solucin de problemas de ingeniera en o) la era anterior a las computadoras y b) la era de las computadoras. Los tamaos de los recuadros indican el nivel de importancia que se dirige a cada fase. Las computadoras facilitan la implementacin de tcnicas de solucin y as permiten un mayor cuidado sobre los aspectos creativos de la formulacin de problemas y la interpretacin de resultados.

    FORMULACIN FORMU~ACIN

    Leyes fundamentales explicadas brevemente

    Exposicin profunct? de la relacin del problema con las leyes

    fundamentales

    SOLUCIN SOLUCIN

    Mtodos mt.ly elaborados y Mtodo de la frecuentemente. complicados para computadora fcil

    hacec manejable el problema de usar

    INTERPRETACIN INT~RPRETACIN

    Anlisis profundo La facilidad de calcular permite limitado por una pensar holsticamente y desarrollar

    solucin que consume la intuicin; se puede estudiar la tiempo sensibilidad y el comportamiento

    dl sistema

    a) b)

    Antes del uso de la computadora se gastaba mucha energa en la tcnica misma de solucin, en vez de aplicarla sobre la definicin del problema y su interpretacin (figura PTl. la). Esta situacin desafortunadamente se deba al tiempo y trabajo montono que se requera para obtener resultados numricos con tcnicas que no utilizaban la compu-tadora.

    Hoy en da, las computadoras y los mtodos numricos proporcionan una alternati-va para clculos complicados. Al usar la computadora para obtener soluciones directa-mente, se pueden aproximar los clculos sin tener que recurrir a suposiciones de simplificacin o a tcnicas lentas. Aunque las soluciones analticas an son muy valio-sas, tanto para resolver problemas como para proporcionar una mayor comprensin, los mtodos numricos representan alternativas que aumentan en forma considerable la ca-pacidad para confrontar y resolver los problemas; como resultado, se dispone de ms tiempo para aprovechar las habilidades creativas personales. Por consiguiente, es posible dar ms importancia a la formulacin de un problema, a la interpretacin de la solucin y a su incorporacin al sistema total, o conciencia "holstica" (figura PTl.lb).

    PT 1. 1.2 Los mtodos numricos y la prctica de la ingeniera

    Desde finales de la dcada de los cuarenta, la multiplicacin y la disponibilidad de las computadoras digitales han llevado a una verdadera explosin en el uso y desarrollo de

    1-

  • f los mtodos numricos. Al principio, este crecimiento estaba limitado por el costo de 1&1 grandes computadoras (mainframes), por lo que muchos ingenieros seguan usando sim-ples planteamientos analticos en una buena parte de su trabajo. No es necesario mencio-nar que la reciente evolucin de computadoras personales de bajo costo, ha dado un fcil acceso a mucha gente, a poderosas capacidades de cmputo. Adems, existen muchas razones por las cuales se deben estudiar los mtodos numricos:

    l. Los mtodos numricos son herramientas muy poderosas para la solucin de pro-blemas. Son capaces de manejar sistemas de ecuaciones grandes, no linealidades y geometras complicadas, comunes en la prctica de la ingeniera y, a menudo, impo-sibles de resolver analticamente. 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 ocasin de usar software disponible comercialmente que contenga mtodos numricos. El uso inte-ligente de estos programas depende del conocimiento de la teora bsica en la que se basan estos mtodos.

    3. Hay muchos problemas que no pueden plantearse al emplear programas "hechos". Si est versado en los mtodos numricos y es un adepto de la programacin de computadoras, entonces tiene la capacidad de disear sus propios programas para resolver los problemas, sin tener que comprar un software costoso.

    4. Los mtodos numricos son un vehculo eficiente para aprender a servirse de las computadoras. Es bien sabido que un camino efectivo para aprender programacin actualmente es escribir programas de computadora. Porque la mayora de los mto-dos numricos son diseados para implementarlos en las computadoras, por tanto, son ideales para este propsito. Tambin hay especialistas para ilustrar el poder y las limitaciones de las computadoras. Cuando usted implemente en forma satisfactoria los mtodos numricos en computadora y aplique stos para resolver de otra manera los problemas difciles, usted dispondr de una excelente demostracin de cmo las computadoras pueden servir para su desarrollo profesional. Al mismo tiempo, apren-der a reconocer y controlar los errores de aproximacin que son inseparables de los clculos numricos a gran escala.

    5. Los mtodos numricos son un medio para reforzar su comprensin de las matem-ticas, ya que una de sus funciones es convertir las matemticas superiores a opera-ciones aritmticas bsicas, porque profundizan en los temas que de otro modo resultaran oscuros. Esta alternativa aumenta su capacidad de comprensin y enten-dimiento en la materia.

    PTl .2 FUNDAMENTOS MATEMTICOS Cada parte de este libro requiere de algunos antecedentes matemticos, por lo que el material introductorio de cada parte incluye una seccin como sta: de fundamentos matemticos. Debido a que la parte uno, en s, est dedicada al material bsico sobre laa matemticas y la computacin, en esta parte no se revisar ningn tema matemtico especfico. En vez de esto se presentan los temas del contenido matemtico que se cubre en este libro. Estos se resumen en la figura PTl.2, y son:

  • FIGURA PT1 .2 Resumen de los mtodos que se exponen en este libro.

    MODELOS, COMPUTADORAS Y ANLISIS DEL ERROR

    a) Part 2: Ralees de ecuaciones ReslVer f(x) = O para x:

    b) Parte 3: Ecuaciones del lgebra lineal

    f(x)

    ,1

    Dadas las a y las e resolver X2 a11X1 + 812X2 = C1 821X1 + 822X2 = C2 para las x.

    . e) Parte 4: Optimizacin . .. . . Determinar la x que da er ptiln de f(x)

    f ,, '

    rJ Parte 5: Ajuste de curvas f(x)

    e) Parte 6: Integracin /:fa f(x) dx

    Regresin

    Encontrar el rea bajo la cuiv

    X.

    f(x)

    f(x)

    f(x)

    X

    X

    X

    X

    l. Races de ecuaciones (figura PTl .2a). Estos problemas estn relacionados con el valor de una variable o de un parmetro que satisface una ecuacin. Son especial-mente valiosos en proyectos de ingeniera, donde con frecuencia resulta imposible despejar de manera analtica los parmetros de ecuaciones de diseo.

    2. Sistemas de ecuaciones algebraicas lineales (figura PTI .2b ). En esencia, estos pro-blemas son similares a los de races de ecuaciones en el sentido de que estn relacio-

  • l _

    FIGURA PTl .2 (Conclusin)

    1"11.J l"UNl'llVllNJ105 MATEMATICOS

    f) Parte 7: Ecuacin_ diferencial ordinaria Dad . ... dy y . -=-=f(t,y) dt f

    resolver para y con una funcin de t.

    Yi+ 1 = Yi + f(t;. y) At

    g) Parte B: Ecuacin diferencial parcial

    y

    Dada Y 1-u 1-u -+-=f(x,y) a~ a. resolver para u como una funcin de xy y

    ---~~,\ I'

    _______ 1-t ________ ._._

    X

    nados con valores que satisfacen ecuaciones. Sin embargo, a diferencia de satisfacer una sola ecuacin, se busca un conjunto de valores que satisfaga simultneamente un conjunto de ecuaciones algebraicas. Las ecuaciones lineales simultneas surgen en el contexto de una variedad de problemas y en todas las disciplinas de la ingenie-ra. En particular, se originan a partir de modelos matemticos de sistemas grandes de elementos interrelacionados, como: estructuras, circuitos elctricos y redes de flujo; aunque tambin pueden encontrarse en otras reas de los mtodos numricos como el ajuste de curvas y ecuaciones diferenciales.

    3. Optimizacin (figura PT l .2c ). Esos problemas involucran la determinacin de un valor o valores de una variable independiente que correspondan al "mejor" o al ptimo valor de una funcin. As, como en la figura PTI .2c, concierne a la identificacin mxima y mnima. Tales problemas ocurren generalmente en el contexto del diseo de inge-niera. Esto tambin surge en otros mtodos numricos. Nosotros nos dirigiremos a ambos, o sea, a la optimizacin con restriccin de una o varias variables, que tambin describe la optimizacin restringida con nfasis particular en la programacin lineal.

    4. Ajuste de curvas (figura PT1.2d). A menudo se presentar la oportunidad de ajustar curvas a un conjunto de datos representados por puntos. Las tcnicas que se han desarrollado para este fin pueden dividirse en dos categoras generales: regresin e interpolacin. La primera se emplea cuando hay un grado significativo de error asociado a los datos; con frecuencia los datos experimentales son de esta clase. Para estas situaciones, la estrategia es encontrar una curva que represente la tendencia general de los datos sin necesidad de tocar los puntos individuales. En contraste, la interpolacin se maneja cuando el objetivo es determinar valores int~rmedios entre datos que estn, relativamente libres de error. Tal es el caso de la informacin tabu-lada. Para estas situaciones, la estrategia es ajustar una curva directamente mediante los puntos y usar esta curva para predecir valores intermedios.

    5. Integracin (figura PTl .2e). Tal como se representa, una interpretacin flsica do la integracin numrica es la determinacin del rea bajo la curva. La interacin dt

  • ----------------a MODELOS, COMPUTADORAS Y ANLISIS DEL ERROR

    ne muchas aplicaciones en la prctica de la ingeniera, empezando por la determina-cin de los centroides de objetos con formas extravagantes, hasta el clculo de can-tidades totales basadas en conjuntos de medidas discretas. Adicionalmente, las frmulas de integracin numrica juegan un papel importante en la solucin de las ecuaciones diferenciales.

    6. Ecuaciones diferenciales ordinarias (figura PTl.2.f). stas tienen un enorme signi-ficado en la prctica de la ingeniera. Esto se debe a que muchas leyes fsicas estn expresadas en trminos de la razn de cambio de una cantidad ms que en trminos de su magnitud. Entre los ejemplos se observan desde los modelos de prediccin demogrfico (razn de cambio de la poblacin) hasta la aceleracin de un cuerpo en descenso (razn de cambio de la velocidad). Dos tipos de problemas son direc-cionados: problemas con valor inicial y valores en la frontera. Adems de cubrir la computacin de valores propios.

    7. Ecuaciones diferenciales parciales (figura PT1.2g). Las ecuaciones diferenciales parciales son usadas para caracterizar sistemas de ingeniera, donde el comporta-miento de la cantidad fsica es expresada en trminos de rapidez de cambio con respecto ad~~ rr{s variables independientes. Se incluyen ejemplos de estado esta-blecido de distribucin de temperaturas sobre una placa caliente (dos dimensiones espaciales) o de la variable tiempo de la temperatura de una barra caliente (tiempo y una dimensin espacial). Dos diferencias fundamentales de aproximacin son em-pleadas para resolver numricamente ecuaciones diferenciales parciales. En el pre-sente texto haremos nfasis en el mtodo de las diferencias finitas con aproximacin en una forma de puntos discretos (figura PTI .2g). No obstante, tambin presentare-mos una introduccin al mtodo del elemento finito, el cual usa una aproximacin de piezas discretas.

    PTl .3 ORIENTACIN Resulta til esta orientacin antes de proceder a la introduccin de los mtodos numri-cos. Lo que sigue est pensado como una vista panormica del material contenido en la parte uno. Se incluyen, adems, algunos objetivos como ayuda para concentrar el esfuer-zo del lector en el estudio del material.

    PT 1.3. 1 Alcance y contenido

    La figura PTl.3 es una representacin esquemtica del material contenido en la parte uno. Se ha elaborado este diagrama para dar un panorama global de esta parte del libro. Se considera que un sentido de "imagen global" resulta importante para desarrollar una verdadera comprensin de los mtodos numricos. Al leer un texto es posible que se pierda uno en Jos detalles tcnicos. Siempre que el lector perciba que est perdiendo la "imagen global" vuelva a la figura PTl .3 para orientarse nuevamente. Cada parte de este libro incluye una figura similar.

    La figura PTl.3 tambin sirve como una breve revisin previa del material que se cubre en la parte uno. El captulo 1 est diseado para orientarle en los mtodos numri-cos y para motivarlo mostrndole cmo pueden usarse estas tcnicas en el proceso de ela-borar modelos matemticos aplicados a la ingeniera. El captulo 2 es una introduccin y

    f E

  • PT1 .3 ORIENTACIN ------------------------------------------

    FIGURA PTl .3

    PT1.6 Mtodos

    EPLOGO

    PARTE 1 Modelos,

    computadoras y anlisis del error

    CAPITULO 3

    1.2 Leyes de

    conservacin

    Esquema de lo organizacin del material paro lo porte uno: Modelos, computadoras y anlisis del error.

    un repaso de los aspectos de computacin que estn relacionados con los mtodos num-ricos y presenta las habilidades de programacin que se deben adquirir para explotar de manera eficiente la computadora. Los captulos 3 y 4 se ocupan del importante tema del anlisis de error, que debe entenderse bien para el uso efectivo de 1011 mtodm1 numrloo1.

    --.4 ----------

  • 10 MODELOS, COMPUTADORAS Y ANLISIS DEL ERROR

    Adems, se incluye un eplogo que introduce los elementos de juicio que tienen una gran importancia para la implementacin efectiva de los mtodos numricos.

    PT1 .3.2 Metas y objetivos Objetivos de estudio. Al terminar la parte uno el lector deber estar preparado para aventurarse en los mtodos numricos. En general, habr adquirido una nocin funda-mental de la importancia de las computadoras y el papel que desempyan las aproxima-ciones y los errores en la implementacin y el desarrollo de los mtodos numricos. Adems de estas metas generales, deber dominar cada uno de los objetivos especficos de estudio que se enuncian en la tabla PT 1.1.

    Objetivos en computacin. Al terminar la parte uno, usted deber tener suficiente experiencia en computacin y desarrollar sus habilidades para hacer su propio soffH!are de los mtodos numricos de este texto. Tambin ser capaz de desarrollar programas de computadoras bien estructurados y confiables con base en el seudocdigo, diagramas de flujo u otras formas de algoritmo. Usted deber tener la capacidad de documentar sus programas para que puedan ser empleados en forma eficiente por otros usuarios. Final-mente, adems de sus propios programas, usted deber estar usando los paquetes de soffH!are de este libro. Los mtodos numricos del TOOLKIT, los cuales han sido pro-porcionados por el texto y otros paquetes conocidos, Mathcad, MATLAB o Excel son los ejemplos de dicho software. Usted deber estar familiarizado con esos paquetes, ya que ser ms cmodo utilizarlos para resolver despus los problemas numricos de este texto.

    TABLA PTl.1 l . Reconocer lo diferencio entre soluciones analticos y numricos. 2. Entender cmo las leyes de lo conservacin son empleadas para desarrollar modelos matemtices

    en sistemas fsicos. 3. Definir top-down y disea modular 4. Definir las reglas paro programacin estructurada. 5. Ser capaz de construir programas estructurados y modulares en un lenguoe de alto nivel. 6. Saber cmo se traducen los diogromos de fluo estructurado y seudocdigo en lenguoe de alto

    nivel. 7. Empezar o familiarizarse con cualquier paquete de software que usar en conunto con este texto. 8. Reconocer la diferencia entre error de truncamiento y error de redondeo. 9. Entender los conceptos de cifras significativas, exactitud y precisin.

    l O. Reconocer la diferencia entre error relativo t:1, error relativo aproximado f 0 y error aceptable f 5 y entender cmo f 0 y f 5 son usadas para terminar un clculo iterativo.

    l l . Saber cuntos nmeros son representados en computodora digital y cmo esa representocin induce error de redondeo. En particular, conocer lo diferencia entre precisin simple y extendida.

    12. Reconocer cmo el clculo aritmtico puede introducir y amplificar el error de redondeo en calculadoras. En particular, apreciar el problema de cancelacin por sustraccin.

    l 3. Saber cmo lo Serie de Toylor y su residuo se emplea para representar funciones continuas. 14. Conocer la relacin entre diferencias firntos divididos y derivados. 15. Ser capaz de analizar cmo los errores se propagan en los relaciones entre funciones. 16. Estar familiarizado con los conceptos de estabilidad y condicionamiento. 17. Familiarizarse con los elementos de uicio que se describen en el eplogo de la parte una.

  • ,

    CAPITULO 1 Modelos matemticos y solucin de problemas de ingeniera

    El conocimiento y entendimiento son prerrequisitos para la aplicacin eficaz de cualquier herramienta. Si no sabemos cmo funcionan las herramientas, tendremos se-rios problemas para reparar un carro, aunque la caja de herramientas sea de lo ms com-pleta.

    sta es una realidad, particularmente cuando se usan computadoras para resolver problemas de ingeniera. Aunque tienen una gran utilidad potencial, las computadoras son prcticamente ineficientes si no se comprende el funcionamiento de los sistemas de ingeniera.

    Este entendimiento es inicialmente emprico -es decir, se adquiere por la observa-cin y la experimentacin-. Sin embargo, como esta informacin obtenida de manera emprica es apenas esencial, slo estamos a la mitad del camino. A travs de muchos aos de observacin y experimentacin, los ingenieros y los cientficos han advertido que cier-tos aspectos de sus estudios empricos ocurren una y otra vez. Este comportamiento gene-ral puede expresarse como una ley fundamental que engloba, en esencia, el conocimiento acumulado de experiencias pasadas. As, muchos problemas de ingeniera se resuelven mediante el empleo de un doble enfoque: el empirismo y el anlisis terico (figura 1.1 ).

    Hay que hacer un esfuerzo para que estos dos elementos del conocimiento lleguen a fundirse en uno solo. Mientras se toman nuevas medidas, se pueden modificar las gene-ralizaciones o descubrirse otras nuevas. De igual manera, las generalizaciones pueden tener una gran influencia en la experimentacin y la observacin. En lo particular, las generalizaciones pueden servir como principios de organizacin que pueden utilizarse para sintetizar los resultados de observaciones y experimentos en un sistema consistente y comprensible, con conclusiones que pueden ser graficadas. Desde la perspectiva de un problema de ingeniera ya resuelto, este sistema es an ms til cuando el problema se expresa en forma similar a un modelo matemtico.

    El primer objetivo de este captulo es introducir al lector en los modelos matemti-cos y el papel de stos en la solucin de problemas de ingeniera. Se mostrar tambin la forma en que los mtodos numricos figuran en el proceso.

    1.1 UN MODELO MATEMTICO SIMPLE Un modelo matemtic.o puede ser definido, con amplitud, como una formulacin o unn ecuacin que expresa las caractersticas esenciales de un sistema fsico o proce~o en trminos matemticos. En trminos generales, el modelo puede ser representado mt tliantc una relacin funcional de la forma:

  • 12

    FIGURA 1.1 Proceso de solucin de probtemos de ingeniera.

    MODELOS MATEMTICOS Y SOLUCIN DE PROBLEMAS DE INGENIERIA

    TEORA-

    Definicin del problema

    l Modelo

    matemtico

    Herramientas para resolver problemas: corputadoras.,

    estadsticas, mtodos numricos, grfica~. etc.

    Resultados numricos o grficos

    1 Interfaces grupales:

    programacin, optimizacin, comunicacin, int~raccin

    pblica, etc.

    Implementacin

    DATOS

    = , parametros, Variable 1. ( variables , funciones) dependiente independientes de fuerza

    (1.1)

    donde la variable dependiente es una caracterstica que generalmente refleja el compor-tamiento o estado de un sistema; las variables independientes son, generalmente, dimen-siones tales como tiempo y espacio, a travs de las cuales el comportamiento del sisten.a ser determinado; los parmetros son reflejo de las propiedades o la composicin del sistema; y las funciones de jiterza las cuales son influencias externas que actan sobre l.

    La expresin matemtica de la ecuacin ( 1.1 )'va desde una simple relacin algebraica hasta un enorme y complicado grupo de ecuaciones diferenciales. Por ejemplo, en la base de sus observaciones, Newton formul su segunda ley del movimiento, la cual esta-blece que la razn de cambio del momentum con respecto al tiempo de un cuerpo, es igual a la fuerza resultante que acta sobre l. La expresin matemtica o el modelo de la segunda ley es la ya conocida ecuacin

    F= ma (1.2)

  • ~ 1

    r 1

    FIGURA 1.2 Representacin de los fuerzas que actan sobre un paracaidista en descenso. F0 es la fuerza hacia abajo debida a la atraccin de la gravedad. Fu es la fuerza debida a la resistencia del aire.

    1 . 1 UN MODELO MATEMTICO SIMPLE

    donde F es la fuerza neta que acta sobre el cuerpo (N, o kg m/s2), m es la masa del objeto (kg) y a es su aceleracin (m/s2).

    La segunda ley puede ser reconstruida segn el formato de la ecuacin (1.1), divi-diendo ambos lados entre m para obtener

    F a=-

    m

    (1.3)

    donde a es la variable dependiente que refleja el comportamiento del sistema, F es la funcin de fuerza y m es un parmetro que representa una propiedad del sistema. Note que en este caso sencillo no existe variable independiente porque an no se predice cmo vara la aceleracin con respecto al tiempo o al espacio.

    La ecuacin (1.3) tiene varias caractersticas tpicas de los modelos matemticos del mundo fsico:

    l. Describe un sistema o proceso natural en trminos matemticos. 2. Representa una idealizacin y una simplificacin de la realidad. Es decir, ignora los

    detalles insignificantes del proceso natural y se concentra en sus manifestaciones ele-mentales. Por eso, la segunda ley de Newton no incluye los efectos de la relatividad, que tienen una importancia mnima cuando se aplican a objetos y fuerzas que interac-tan sobre o alrededor de la Tierra a velocidades en escalas visibles a los seres huma-nos.

    3. Finalmente, conduce a resultados predecibles y, en consecuencia, puede emplearse con propsitos de prediccin. Por ejemplo, dada la fuerza aplicada sobre un objeto y su masa, puede usarse la ecuacin (1.3) para calcular la aceleracin. Debido a que se tiene una forma algebraica sencilla, la solucin de la ecuacin (1.2)

    puede despejarse directamente. Sin embargo, otros modelos matemticos de fenmenos fsicos pueden ser mucho ms complejos, de modo que, o no se pueden resolver con exactitud, o requieren para su solucin mayor complejidad de las tcnicas matemticas que una simple lgebra. Para ilustrar un modelo ms complicado de esta clase, puede usarse la segunda ley de Newton si se quiere determinar la velocidad final de la cada libre de un cuerpo cerca de la superficie de la Tierra. Nuestro cuerpo de cada ser el de un paracaidista (figura 1.2). Un modelo para este caso puede ser desarrollado usando la expresin de aceleracin como la razn de cambio de la velocidad con respecto al tiem-po (duldt), y sustituyendo esto en la ecuacin (1.3) se tiene

    dv dt =

    F (1.4) m

    donde V es la velocidad (mis). As, la masa multiplicada por la razn de cambio de la velocidad con respecto al tiempo es igual a la fuerza neta que acta sobre el objeto. Si la fuerza neta es positiva, el objeto acelerar. Si es negativa, el objeto desacderar. Si la fuerza neta es igual a cero, la velocidad del objeto se mantendr constante.

    Ahora expresemos a la fuerza neta en trminos de variables y parmetros 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 atraccin hacia abajo debida a la gravedad F 0 y la fuerza hacia arriba debida a la resistencia del aire Fu

    F = Fn t F1 (1.5)

  • 14 MODELOS MATEMTICOS Y SOLUCIN DE PROBLEMAS DE INGENIERA

    Si a la fuerza hacia abajo se le asigna un signo positivo, se puede usar la segunda ley de Newton para formular la fuerza debida a la gravedad como

    FD =mg (1.6)

    donde ges la constante de gravedad, o la aceleracin debida a la gravedad, que es aproxi-madamente igual a 9.8 m/s2

    La resistencia del aire puede formularse de varias maneras. Una aproximacin sen-cilla es suponer que es linealmente proporcional a la velocidad, 1 como en

    Fu= -cv (1.7)

    donde ces una constante de proporcionalidad llamada coeficiente de resistencia o arras-tre (kg/s). As, cuanto mayor es la velocidad de cada, mayor es la fuerza hacia arriba debida a la resistencia del aire. El parmetro e toma en cuenta las propiedades del objeto descendente, como la forma o la aspereza de su superficie, que afectan la resistencia del aire. En este caso, e podra ser una funcin del tipo de traje o la orientacin usada por el paracaidista durante la cada libre.

    La fuerza total es la diferencia entre las fuerzas hacia abajo y las fuerzas hacia arriba. Por tanto, las ecuaciones (1.4) a (1. 7) pueden combinarse para dar

    dv mg - cv =---

    dt m (1.8)

    o simplificando el lado derecho de la igualdad.

    dv e - =g- -V dt m

    (1.9)

    La ecuacin ( 1.9) es un modelo que relaciona la aceleracin de un cuerpo que cae con las fuerzas que actan sobre l. Se trata de una ecuacin diferencial porque est escrita en trminos de la razn de cambio diferencial (duldt) de la variable que nos interesa prede-cir, razn por la cual a veces se denomina ecuacin en diferencias. Sin embargo, en contraste con la solucin dada por la seguiida ley de Newton en la ecuacin (1.3), la solucin exacta de la ecuacin (1.9) para la velocidad del paracaidista que cae no puede obtenerse mediante simples manipulaciones algebraicas u operaciones aritmticas. Ms bien, es necesario usar tcnicas ms avanzadas, tal como el clculo, para obtener una solucin exacta o analtica. Por ejemplo, si el paracaidista est inicialmente en reposo ( v = O en t = O), se puede usar el clculo para resolver la ecuacin (1.9), as

    v(t) = gm (1 - e-(c/m)t) e

    (1.10)

    Note que la ecuacin (1.10) es una versin de la forma general de la ecuacin (1.1), donde v (t) es la variable dependiente, tes la variable independiente, c y m son parme-tros y g es la funcin de fuerza.

    1 En efecto, Ja relacin es actualmente no lineal y podra ser representada por una relacin con potencias como Fu = -cv 2 Al final de este captulo, investigaremos, en un ejercicio, de qu maneta estas no linealidades influyen en el modelo.

    l

    1

  • .1. , 1,

    'I 1

    L

    1. 1 UN MODELO MATEMTICO SIMPLE

    EJEMPLO 1. 1 Solucin analtica al problema del paracaidista que cae

    FIGURA 1.3 Solucin analtica al problema del paracaidista que cae segn se calcula en el ejemplo l . l . La velocidad aumenta con el tiempo y se aproxima asintticamente a una velocidad terminal.

    Enunciado del problema. Un paracaidista con una masa de 68.1 kg salta de un globo aerosttico fijo. Aplquese la ecuacin (1.10) para calcular la velocidad antes de abrir el paracadas. El coeficiente de resistencia es de aproximadamente 12.5 kg/s.

    Solucin: Al sustituir los valores de los parmetros en la ecuacin (1.10) se obtiene

    v(t) = 9.8(68.1) (l _ e-(12.5/681)1) = 53 .39(1 _ e-0.183551) 12.5

    que puede ser usada para calcular

    t, 5 v,m/s

    o 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 rpidamente (figura 1.3). Se llega a una velocidad de 44.87 mis (100.4 mi/h) despus de 10 s. Ntese tambin que despus de un tiempo suficientemente grande alcanza una velocidad constante (o velocidad ter-minal) de 53.39 mis (119.4 mi/h). Esta velocidad es constante porque despus de un tiempo la fuerza de gravedad estar en equilibrio con la resistencia del aire. Por lo tanto, la fuerza total es cero y cesa la aceleracin.

    Velocidad terminal ------------------------

  • r6

    FIGURA 1.4 Uso de diferencias finitas para aproximar la primero derivada de v con respecto a t.

    MODELOS MATEMTICOS Y SOLUCIN DE PROBLEMAS DE INGENIERlA A la ecuacin ( 1.10) se le llama solucin analtica o exacta porque satisface con

    exactitud la ecuacin diferencial original. Desafortunadamente, hay muchos modelos matemticos que no pueden resolverse con exactitud. En muchos casos, la alternativa consiste en desarrollar una solucin numrica que se aproxime a la solucin exacta.

    Como ya se mencion, los mtodos numricos son aquellos en los que se formula el problema matemtico para que se pueda resolver mediante operaciones aritmticas. Esto puede ilustrarse para la segunda ley de Newton, al aproximar a la razn de cambio de la velocidad con respecto al tiempo (figura 1.4):

    dv ~ Liv v(t;+1) - v(t;) dt = Lit t;+1 - t (1.11)

    donde Av y At son diferencias en la velocidad y el tiempo calculadas sobre intervalos finitos, v (t) es la velocidad en el tiempo inicial t, y v (t;+ 1) es la velocidad algn tiempo ms tarde t;+ 1 Observe que dvldt ~ Av!At es aproximado porque Ates finito. Recordan-do de clculo que

    dv Liv -=lm-dt M-+0 it

    La ecuacin (1.11) representa el proceso inverso. La ecuacin ( 1.11) se denomina una diferencia finita dividida y es una aproxima-

    cin a la derivada en el tiempo f;. Sustituyendo en la ecuacin (1.9) da

    v(t;+1)-v(t;) e () -----=g- -V(

    AV

    t;+ 1 - t; m

    I v(f;+ 1) - - - - - - - - - -

    t

    Pendiente aproximada Av ... v(t;+ 1)- v(t;) -+------M t;+ 1 -t; J

  • l'

    t

    1 . 1 UN MODELO MATEMTICO SIMPLE

    Esta ecuacin se puede reordenar para dar

    v(t;+ 1) = v(t;) + [ g - ;vct;)J(t;+1 - t;) ( 1.12) Ntese que el trmino en corchetes que est del lado derecho es la propia ecuacin

    diferencial [ecuacin (1.9)]. Esto es, da un significado al clculo de la velocidad de cambio o la pendiente de v. As, la ecuacin diferencial ha sido transformada en una ecuacin que puede ser usada para determinar algebraicamente la velocidad en t + 1, usando la pendiente y los valores anteriores de v y t. Si se da un valor inicial para la velocidad en algn tiempo t, se puede calcular fcilmente la velocidad en un tiempo posterior t _ 1. Este nuevo valor de la velocidad en f + 1 puede utilizarse para calcular la velocidad en t;+z y as sucesivamente. Es decir, a cualquier tiempo.

    Nuevo valor = viejo valor + pendiente X tamao del paso

    EJEMPLO 1.2 Solucin numrica al problema de la cada de un paracaidista

    Enunciado del problema. Efectuar el mismo clculo que en el ejemplo 1.1 pero usan-do la ecuacin ( 1.12) para calcular la velocidad. Emplee un tamao de paso de 2 s.

    Solucin. Al principio de los clculos (t; = O), la velocidad del paracaidista es igual a cero. Con esta informacin y los valores de los parmetros del ejemplo 1.1, se puede usar la ecuacin (1.12) para calcular la velocidad en t;+ 1 = 2 s.

    v=O+ 9.8--(0) 2'=19.60m/s [ 12.5 ] 68.1

    Para el siguiente intervalo (de t = 2 a 4 s), se repite el clculo con el resultado

    v = 19.60 + 9.8 - -(19.60) 2 = 32.00 m/s [ 12.5 J 68.1

    Se contina con los clculos de manera similar para obtener valores adicionales, como en la tabla siguiente:

    t, 5 v,m/s

    o 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 grafican en la figura 1.5, junto con la solucin exacta. Como OI evidente, la solucin por un mtodo numrico se aproxima bastunte bien a la solucin

  • 18 MODELOS MATEMTICOS Y SOLUCIN DE PROBLEMAS DE INGENIERA

    exacta. Sin embargo, debido a que se emplean segmentos de rectas para aproximar una funcin que es continuamente curva, hay algunas diferencias entre los dos resultados. Una forma de reducir estas diferencias consiste en usar un menor intervalo de clculo. Por ejemplo, aplicar la ecuacin (1.12) en intervalos de 1-s redundara en un error me-nor, ya que los segmentos de recta estaran un poco ms cerca de la solucin verdadera. De hacer clculos manuales, el esfuerzo asociado al usar incrementos cada vez ms pequeos hara poco prcticas tales soluciones numricas. Sin embargo, con la ayuda de una computadora personal se puede efectuar fcilmente un gran nmero de clculos; por tanto, se puede modelar con exactitud la velocidad del paracaidista que cae, sin tener que resolver exactamente la ecuacin diferencial.

    Como se vio en el ejemplo anterior, se paga un costo computacional para obtener un resultado numrico ms preciso. Cada particin a la mitad del tamao de paso para lo-grar ms precisin nos lleva a duplicar el nmero de clculos. Por consiguiente, sabemos que existe un trueque entre la exactitud y la cantidad de operaciones y el tiernpo de procesamiento. Este tipo de criterios son de gran importancia en los mtodos numricos y constituyen un tema importante en este libro. En consecuencia, se ha dedicado el ep-logo de la Parte Uno para hacer una introduccin a ms elementos de juicio de este tipo.

    1.2 LEYES DE CONSERVACIN E INGENIERA

    FIGURA 1.5 Comparacin de los soluciones numricas y analticos paro el problema del paracaidista que cae.

    Aparte de la segunda ley de Newton, existe una mayor organizacin de principios en ingeniera. Entre los ms importantes estn las leyes de conservacin. Aunque stas son

    Velocidad terminal

    Solucin numrica, aproximada

    40 \ Solucin analtica, exacta

    20

    o ---,-~~~ ........ -,-~~-,---''--~~-,--,-....._-,-... o 4 8 12

    t, s

  • ,.,

    FIGURA 1.6 Balance de fluo para un fluido incompresible en estado estacionario en uno unin de tuberas.

    1.2 LEYES DE CONSERVACIN E INGENl!RIA ~: fundamentales en una variedad de complicados y eficaces modelos muterm\ticrn, lt1111 grandes leyes de la conservacin en la ciencia y la ingeniera son conceptualmente fci-les de entender. stos se pueden reducir a

    Cambio = incremento - decremento (1.13)

    sta es precisamente la forma que nosotros empleamos cuando usamos la segunda ley de Newton para desarrollar una fuerza de equilibrio en la cada del paracaidista [ecua-cin (1.8)).

    Pese a su sencillez, la ecuacin ( 1.13) comprende uno de los principios fundamenta-les en que las leyes de conservacin son usadas en ingeniera --esto es, predecir cambios con respecto al tiempo-. Nosotros le daremos a la ecuacin (1.13) el nombre especial clculo de variable-tiempo (o transitivo).

    Aparte de la prediccin de cambios, las leyes de la conservacin se aplican en casos en que el cambio no existe. Si el cambio es cero, la ecuacin (1.3) ser

    Cambio = O = incremento - decremento

    o bien,

    Incremento = decremento (1.14)

    As, de no ocurrir el cambio, el incremento y el decremento debern estar en equilibrio. Este caso, que tiene una denominacin especial --dlculo de estado estacionario- tie-ne muchas aplicaciones en ingeniera. Por ejemplo, para el estado continuo de flujo de

    Tubera 1 Flujo de entrada = 100

    Tubera 2 Flujo de entrada = 80

    Tubera 3 Flujo de salida = 120

    Tubera4 Flujo de salida = ?

  • MODELOS MATEMTICOS Y SOLUCIN DE PROBLEMAS DE INGENIERA

    fluido incompresible en tuberas, el flujo que entra en conjunto debe estar en balance con el flujo de salida, esto es

    Flujo de entrada = flujo de salida Para la unin de tuberas de la figura 1.6, esta ecuacin de balance se puede emplear para calcular el flujo de salida de la cuarta tuberia que debe ser de 60.

    Para la cada del paracaidista, las condiciones del estado estacionario debe-ran corresponder al caso en que la fuerza neta fue igual a cero o [ecuacin (1.8) con dv/dt =O]

    mg = cv (1.15)

    As, en el estado estacionario, las fuerzas hacia abajo y hacia arriba estn balancea-das y la ecuacin (1.15) puede ser resuelta para la velocidad terminal.

    mg v=-

    c

    Aunque las ecuaciones (1.13) y (1.14) pueden parecer triviales, comprenden los dos principios fundamentales en que las leyes de la conservacin se emplean en ingeniera. Como tales, en captulos subsiguientes sern parte importante de nuestros esfuerzos por mostrar la relacin entre los mtodos numricos y la ingeniera. Nuestro primer medio para hacer esta relacin son las aplicaciones a la ingeniera que aparecen al final de cada parte del libro.

    En la tabla 1.1 se resumen algunos de los modelos sencillos en ingeniera y su rela-cin con las leyes de conservacin que sern la forma bsica de muchas de esas aplica-ciones. La mayora de aplicaciones de ingeniera qumica harn nfasis en el equilibrio de masa para reactores. El equilibrio de la masa se deriva de la conservacin de la masa. Especficamente, el cambio de masa de un compuesto qumico en un reactor depende de la cantidad de masa que fluye menos el cambio de masa de salida.

    Las aplicaciones en ingeniera civil y mecnica se enfocarn sobre modelos desa-rrollados para la conservacin del momentum. Con respecto a la ingeniera civil, fuerzas en equilibrio se utilizan en el anlisis de estructuras como las armaduras sencillas de la tabla 1.1. El mismo principio se puede aplicar en ingeniera mecnica, con el fin de analizar el movimiento transitivo superior e inferior, o las vibraciones de un automvil.

    Finalmente, las aplicaciones en ingeniera elctrica emplean balance de corriente y energa para el modelo de circuitos elctricos. El balance de corriente, el cual resulta de la conservacin de carga, es similar en espritu al equilibrio del flujo representado en la figura 1.6. As como el flujo debe equilibrarse en las uniones de tuberas, la corriente elctrica debe estar balanceada o en equilibrio en las uniones de alambres elctricos. La conservacin de la energa especifica que la suma algebraica de los cambios de voltaje alrededor de cualquier malla de un circuito deben ser igual a cero. Las aplicaciones en ingeniera pretenden ilustrar cmo se emplean actualmente los mtodos numricos para solucionar problemas de ingeniera. Como tales, dichos mtodos nos permitirn exami-nar los mtodos prcticos (tabla 1.2) que surgen en aplicaciones del mundo real. El esta-blecer la relacin entre tcnicas matemticas como los mtodos numricos y la prctica de la ingeniera es un paso decisivo para mostrar su verdadero potencial. Examinar cui-dadosamente las aplicaciones a la ingeniera nos ayudar a establecer esta relacin. \l

  • 1 ;z L~~ DE CONSERVACION E INGENIERIA TABLA 1.1 Dispositivos y tipos de balance que se usan comnmente en las cuatro grandes reas

    de la ingeniera. En cada caso se especifica la ley de conservacin en que se basa el balance.

    Campo Dispositivo

    Ingeniera qumica

    Ingeniera civil Estructura

    Ingeniera mecnica

    Ingeniera elctrica

    Circuito

    Principio aplicado

    Conservacin de la masa

    Conservacin del momentum

    Conservacin del momentum

    Conservacin de carga

    Conservacin de la energa

    Expresin matemtica

    Balance de la masa: Entrada~ Salida

    En un periodo llmasa = salidas - entradas

    Balance de fuerzas

    -F,.

    Para cada nodo I fuerzas horizontales (FH) =O I fuerzas verticales (Fv) =O

    Balance de fuerzas: t Fuerza hacia arriba x=O Fuerza hacia abajo d 2x F h . b . f h . 'b m dt 2 = uerza ac1a a ao - uerza acia am a

    Balance de corriente:

    Para cada nodo I corriente (1) = O

    +i1 ~.___... ~3

    t

    Balance del potencial

    Alrededor de cada ciclo I fems - I cada de potencial en los resistores = O Is-I iR= o

  • M015!lOS MAT!M TICOS Y SOLUCIN DE PROBLEMAS DE INGENIERIA TABLA 1.2 Algunos aspectos prcticos que se investigarn en las aplicaciones

    a la ingeniera al final de cada parte del libro.

    l . No lineal contra lineal. Mucho de la ingeniera clsica depende de la linearizacin que permite solu-:iones analticas. Aunque esto es apropiado, puede ganar cierto reconocimiento cuando se revisan los problemas no lineales.

    2. Gandes sistemas contra pequeos. Sin uno computadora, no siempre se pueden examinar sistemas con ms de tres componentes interactivos. Con las computadoras y mtodos numricos, se pueden examinar en forma ms realista los sistemas multicomponentes.

    3. No ideal contra ideal. En ingeniera abundan los leyes idealizadas. A menudo, hay alternativas no idealizados que son ms realistas pero que demandan muchos clculos. Lo aproximacin numrico puede acercarse fcilmente para aplicaciones de esas relaciones no ideales.

    4. Sensibilidad de anlisis. Debido a que estn involucrados, muchos clculos manuales requieren una gran cantidad de tiempo y esfuerzo poro su implementacin exitoso. Algunas veces desalienta el anlisis para implementacin de mltiples clculos que son necesarios al examinar cmo un sistema responde en diferentes condiciones. Tal anlisis de sensibilidad se facilita cuando los mtodos numricos permiten que la computadora asumo lo corgo de cmputo.

    5. Diseo. Es a menudo una proposicin sencilla poro la determinacin del comportamiento de un sistema como una funcin de parmetros. Usualmente es ms difcil resolver el problema a lo inversa, es decir, determinar los parmetros cuando se especifica el comportamiento requerido. A menudo, los mtodos numricos y las computadoras permiten realizar esta torea de manera eficiente.

    PROBLEMAS

    1.1 Conteste falso o verdadero a) El valor de una variable que satisface una simple ecuacin

    se llama raz de una ecuacin. b) Las diferencias finitas divididas son usadas para represen-

    tar derivadas en trminos aproximados. e) En la era anterior a las computadoras, l

  • l 1

    PROBLEMAS

    de hacerse con una tasa de inters de 10.3 7%. Aunque, para hacer este ciculo, la informacin se encuentra en tablas de economa, slo aparecen listados los valores para tasas de inters de 10 y 11%.

    e) Usted debe detenninar la distribucin de temperatura en dos dimensiones de una superficie con empaque como una funcin de temperatura en los extremos.

    j) Para el problema del paracaidista que cae, se debe decidir el valor del coeficiente de arrastre para que un paracaidis-ta de 889.6 N (200 lb) de peso no exceda los 160.9 km/h (100 mi/h) despus de 1 O s de haber saltado. Esta evalua-cin se har con base en la solucin analtica [ecuacin (1.10)]. La informacin se emplear en el diseo de ropa especial para paracaidistas.

    g) Usted es experto en el trazo de caminos y debe determinar el rea de un campo que est sobre dos carreteras, y medir el flujo.

    1.3 Proporcione el ejemplo de un problema de ingeniera don-de pueda utilizar cada uno de los siguientes tipos de mtodos numricos. De ser posible, remtase a sus propias experiencias en cursos, conferencias u otras prcticas profesionales que haya acumulado hasta la fecha. a) Races de ecuaciones b) Ecuaciones lineales algebraicas e) Ajuste de curvas: regresin e interpolacin d) Optimizacin e) Integracin j) Ecuaciones diferenciales ordinarias g) Ecuaciones diferenciales parciales 1.4 Qu es la aproximacin de dos puntas para resolver pro-blemas en ingeniera? Dentro de esta categora, debera haber un lugar para las leyes de conservacin? 1.5 Cul es la forma de la ley conservativa transitiva? Es es-tado estacionario? 1.6 La siguiente informacin de una cuenta de banco est dis-ponible:

    23

    Use la conservacin del efectivo para calcular el balance de 6/1, 7 /1, 8/1 y 911. Muestre cada paso en el clculo. Este clculo es de estado estacionario o transitivo? 1.7 D ejemplos de leyes de conservacin en ingeniera y en la vida diaria. 1.8 Vea sus libros de texto de ingeniera y busque cuatro casos en que los modelos matemticos se usen para describir el com-portamiento de los sistemas fsicos. Tome nota de las variables dependientes e independientes, as como de los parmetros y las funciones de fuerza. 1.9 Compruebe que la ecuacin (1.1 O) es la solucin de la ecua-cin (l.9). 1.1 O Repita el ejemplo 1.2. Calcule la velocidad para t = 12 s, con un tamao de paso de a) 1 y b) 0.5 s. Puede usted hacer cualquier juicio de apreciacin del error de clculo basado en los resultados? 1.11 Ms que la relacin lineal de la ecuacin (1.7), la fuerza superior en la cada del paracaidista es en realidad no lineal y podra representarse mejor por una relacin de potencias como

    Fu = -c'v2

    donde e 1 = a un coeficiente de arrastre de segundo orden (kg/m). Usando la relacin, repita el clculo del ejemplo 1.2 con los mismos valores de las condiciones iniciales y los parme-tros. U se un valor de 0.23 kg/m para e'. 1.12 La cantidad de contaminante radiactivo uniformemente dis-tribuido en un reactor cerrado est medida por concentraciones e (becquerel/litro, o Bq/L). El contaminante decrece a una veloci-dad de cada proporcional a esa concentracin; esto es

    Velocidad de cada= -kc

    donde k = a una constante por unidad de da - 1 Por lo tanto, de acuerdo con la ecuacin (1.13), el balance de la masa para el reactor puede representarse como

    de dt

    (cambio ) de masa

    -kc

    ( decremento )

    por decaimiento

    Use los mtodos numricos para resolver la ecuacin de t = O a 1 el, con k = O.l d- 1. Y emplee un tamao de paso de !'J.t = 0.1. La concentracin de t = O es 1 O Bq/L. 1.13 El tanque de almacenamiento contiene un lquido de altura y, donde y = O cuando el tanque est medio lleno. El lquido es aislado en un flujo constante con una demanda'Q. El contenido es reabastecido con un cambio sinusoidal de 3Q sen2 1 (v611Hc 111 f'iguru P 1. 13 ).

    -- ..... --~---~----------.....

  • 24 MODELOS MATEMTICOS Y SOLUCIN DE PROBLEMAS DE INGENIERIA Pura este sistema, la ecuacin ( 1.13) puede ser representada como

    d(Ay) dt

    3Q sen2 t Q

    ( cambio )

    de volumen (flujo de entrada) - (flujo de salida)

    o dado que Ja superficie del rea A es constante

    dy = 3 g_ sen2 t - g dt A A

    Use uno de Jos mtodos numricos para resolver para Ja altura y de t = O a 5 d con un tamao de paso de 0.5 d. Los valores de los parmetros son A = 1 200 m2 y Q = 400 m3/d.

    FIGURA Pl .13

  • ,

    CAPITULO 2 Computadoras y programas

    Los mtodos numricos combinan dos de las ms importantes herramientas en el reper-torio de la ingeniera: las matemticas y las computadoras, de ah que puedan ser defini-dos en general como las matemticas por computadora. Una buena habilidad para programar computadoras podra aumentarse con el estudio de los mtodos numricos. En particular, la capacidad y limitaciones de las tcnicas numricas se aprecian mejor cuando se usan estos mtodos, uno tras otro, con la computadora, para resolver proble-mas de ingeniera.

    Usted podr usar este libro para preparar su propio software. Al incrementar sus habilidades en las computadoras personales y en los dispositivos de memoria magntica, este software puede ser fcilmente utilizado y mejor aplicado durante su carrera. Por lo tanto, el primer objetivo de este texto es que usted llegue a tener un software til y de alta calidad.

    Adems, los ingenieros usan cada vez ms los paquetes de software para aplicar los mtodos numricos. Por ello, otro de los objetivos de este libro ser familiarizarlo con las capacidades, operaciones y limitaciones de algunos paquetes. Adems, las aplicacio-nes avanzadas con dichos paquetes implican a menudo alguna programacin en forma de macros o argumentos. As, aunque en apariencia pudiera parecer qite el uso del soft-ware es lo mismo que "coser y cantar", los ingenieros ms refinados deben saber tam-bin cmo llevar a cabo programas cortos y bien estructurados para explotar con provecho esas herramientas.

    Este libro incluye algunas caractersticas para que usted pueda desarrollar al mxi-mo sus posibilidades. Primero, las tcnicas numricas se acompaan por material rela-cionado con su implementacin efectiva en computadoras. Se proporcionan los algoritmos de muchos mtodos. Segundo, se describen algunos de los ms populares paquetes de software y de libreras, y se usan para resolver problemas relacionados con la ingeniera. Finalmente, est disponible el software suplementario para su aplicacin o ilustracin en varios de los mtodos ms elementales considerados en este libro. Compatible con va-rias computadoras personales, este software puede servir como punto de arranque para formar su propia coleccin de programas.

    Si el lector pretende utilizar este texto como base para desarrollar sus propios pro-gramas, este captulo proporciona informacin de apoyo que puede ser de utilidad, pues est escrito bajo la premisa de que se tiene alguna idea sobre programacin. En vista de que este libro no pretende servir de apoyo en un curso de programacin, se estudian nicamente los aspectos relacionados/con la creacin de software de alta calidad para mtodos numricos. Asimismo, se pretende dar un criterio adecuado para evaluar la ca-lidad de sus esfuerzos.

    i 1 1 1

  • COMPUTADORAS Y PROGRAMAS

    2. 1 LA COMPUTACIN Y SU ENTORNO

    f:IGURA 2.1 En funcin de los avances tecnolgicos, la evolucin de la computadora moderna puede considerarse como uno sucesin de generaciones. La tercera generacin diverge con el avance rpido de mquinas diseadas para necesidades individuales. En la actualidad, est disponible un amplio rango de computadoras. fuente: Utilizado con el permiso de Steven Chapra y Raymond Ccmole, Introduccin a fa computacin para ingenieros, McGraw-Hill, Nueva York, 1994.

    En nuestra opinin, la perspectiva histrica es muy til para apreciar los recientes avances en el diseo de programas. Como se muestra en la figura 2 .1, la edad de la moderna compu-tadora puede ser conceptualizada como una progresin de generaciones. Antes de los aos setenta, las computadoras eran monolticas en el sentido de que eran sistemas de mquinas grandes pero no haba otra opcin. Como resultaba muy costoso adquirirlas, operarlas y darles mantenimiento, aquellas computadoras slo podan ser adquiridas por grandes or-ganismos como empresas, universidades, agencias de gobierno y el ejrcito. Como era de esperarse, la centralizacin en que estaba configurada la computacin tena un profundo impacto en la forma con que los ingenieros y los cientficos interactuaban con las mqui-nas. En particular, haba una separacin clara entre el usuario y la computadora.

    Al final de la dcada de los sesenta, la introduccin de circuitos integrados dio origen a mquinas significativamente ms rpidas, econmicas y pequeas. Esta ruptura tecnolgica en turno gener un gran nmero de adelantos divergentes de la evolucin anterior en la industria de la computacin.

    QUINTAGENERACIN (~QPP1>

    Procesamiento parafelo/lnte/lg:ncla artificial

    Computadora personal Estaciones Grandes Supercomputadoras de trabajo computadoras

    CUARtA GENERACIN '(1971...:presente)

    Integracin a gran escala

    Tiempo compartido

    JERCERA GENERACIN (1964-197:1)

    , Circuitos integrados

    SEGJJNDA GENl;AACIN ,J1958-196M Transistores

    :PRIMERA GENERACIN ' ... (1951-1958)

    Ttroos de vaco

    SEN~RACIN CERO ' ;;'(a.nte$-+:1.~t ...

    Many~tY,',~~tjf~~: 4,

  • 2.2 DESARROLLO DE PROGRAMAS 27

    Tomando en consideracin que las computadoras estaban claramente al alcance de grandes instituciones y organizaciones, la cuarta generacin dio por resultado mquinas diseadas convenientemente para las necesidades individuales. En consecuencia, el in-geniero de hoy tiene una amplia configuracin de herramientas que puede utilizar en la computacin. En trminos de tamao, costo y nmero de usuarios, estas herramientas pueden ser clasificadas en cuatro grandes grupos: computadoras personales, estaciones de trabajo, computadoras grandes y supercomputadoras.

    Como su nombre lo dice, la computadora personal (o PC) es una pequea mquina cuyo principal propsito es tener un solo usuario. Las estaciones de trabajo son general-mente ms poderosas y, aunque a menudo estn dedicadas a un solo usuario, forman parte de una red de computadoras. Las grandes computadoras son mquinas mucho ms gran-des y costosas que usualmente pertenecen a una institucin que da servicio a varios usua-rios. Finalmente, la supercomputadora es grande y muy costosa, es una mquina poderosa que se usa, sobre todo, para aplicaciones muy complejas por un selecto grupo de usuarios.

    Hay que hacer notar que esta clasificacin no es estricta. Por ejemplo, muchas computadoras personales se han empleado como terminales, la frontera entre las PC de hoy y las estaciones de trabajo ya no es muy clara.

    Cualquiera que sea la definicin que se use, lo bueno de la situacin actual es que se tiene acceso potencial a todo tipo de computadoras. Por ejemplo, el trabajo preliminar en una computadora de gran escala puede ser realizado por una computadora personal. As, el enlace con las telecomunicaciones puede usarse para cargar un programa a una gran computadora, a fin de realizar una ms rpida ejecucin. Por este camino, se aprovecha la fuerza de cada tipo de computadora. Los ingenieros que tengan acceso a una variedad de mquinas tendrn una enorme capacidad para utilizar sus construcciones.

    Por esta razn, y porque nos adelantamos al uso de diferentes tipos de mquinas para aprender los mtodos numricos, hemos procurado que este libro sea compatible con to-dos estos sistemas. Por lo tanto, mucho de este material puede ser llevado a la prctica con una variedad de sistemas que va de las computadoras personales a las grandes compu-tadoras.

    Al mismo tiempo, hemos tratado en lo posible de reconocer e investigar las intere-santes nuevas aplicaciones que estn directamente relacionadas con las computadoras personales. En particular, hemos consagrado una parte significativa de esta edicin a los paquetes de software orientados a la PC. Creemos que el aspecto "personal" de la revo-lucin de las microcomputadoras es el gran principio de la conmocin actual, sobre computacin, entre los estudiantes de la especialidad y los profesionistas afines.

    2.2 DESARROLLO DE PROGRAMAS

    No importa cul sea su tipo, una computadora es de utilidad si se le proporcionan las instrucciones con todo cuidado. Dichas instrucciones son el software. En la siguiente seccin encontrar una gran cahtidad de procesos con los cuales realizar su propio soft-ware de alta calidad para poner en prctica los mtodos numricos.

    En la figura 2.2 se describen los cinco pasos que constituyen el proceso. Cada uno de ellos ser tratado en las secciones subsecuentes. No obstante, antes de entrar en materia, debemos mencionaralgunos cambios cualitativos que han ocurrido en el desarrollo dosc!fl wan' y su gran n:Icvanciu en lu uplicacin de los mtodos numricos on In computu

  • FIGURA 2.2 los cinco pasos necesarios para producir programas de nito nivel. Las flechas de retroalimentacin indican que los primeros cuatro posos se pueden mejorar conforme se gane experiencia.

    l IL

    ';f:"'''""~'!.', ' . . . .!-L)\l'J '' '\j

    l'i

    ! Paso 1

    Dlsel'io de algoritmos

    Desarrollo de la lgica bsica del programa

    ! Paso 2

    Composicin de un programa

    Escriba el programa en un lenguaje de computacin

    1 Paso 3

    Depuracin y prueba

    Asegrese de que el programa no tenga errores y sea legible

    !! Paso 4

    Documentacin

    Haga que el programa sea fcil de usar y de entender

    ! Paso 5

    Almacenamiento y mantenimiento

    Guarde el programa y mejrelo conforme gane

    experiencia

    1 ,,

    - -1 1

    1 1 ~- -.,

    1 1 1

    ~- - .J 1

    1 1

    --

    2.2. 1 Estilos de programacin

    As como el hardware ha tenido una asombrosa evolucin, el proceso de desarrollo de software tambin ha pasado por una transformacin radical en aos recientes. En los primeros aos de la computacin, la programacin fue ms un arte que una ciencia. Aunque todos los lenguajes tenan una sintaxis y vocablos muy precisos, no haba defi-

    nicione~ modelo de un buen estilo de programacin. En consecuencia, la gente creaba sus propios criterios para constituir lo que sera una excelente pieza de software.

    En principio, estos criterios fueron fuertemente influenciados por la disponibilidad de hardware. Las antiguas computadoras eran muy costosas y lentas, y tenan poca me-

    FIGl La lei hard indus FuenlE "Elecl O ver\ 215;

  • 2.2 DESARROLLO DE PROGRAMAS -----------------------------------------------

    FIGURA 2.3 la lendencia de costos en hardware y software en la industria de la computacin. Fuente: L. M. Branscomb, "Eleclronics and Compulers: An Overview", Science, 1982, 215:755.

    100% Clave

    50%

    0%

    Hardware O Software

    moria. En consecuencia, uno poda hacer un buen programa si ste utilizaba tan poca memoria como fuera posible. Otra posibilidad era la ejecucin rpida. Otra, ms, era qu tan rpido poda escribirse por primera vez.

    En consecuencia los programas eran muy diferentes. En particular, debido a que haba una fuerte influencia por las limitaciones del hardware, los programadores tenan una pequea recompensa en la facilidad con que se usaban los programas y en lo sencillo que era darles mantenimiento. As, si usted necesita utilizar efectivamente y dar mante-nimiento a grandes programas durante largos periodos, tiene que conservar por lo gene-ral al programador orjginal. En otras palabras, el programa y el programador conforman un paquete de gran valor.

    Hoy, muchas de las limitaciones del hardware ya no existen o rpidamente desapa-recen. Adems, desde que el costo del software constituye una gran parte proporcional del presupuesto total de la computadora (figura 2.3), la creacin de software fcil de usar y modificar es un privilegio. En particular, se insiste mucho en la claridad y la amenidad, antes que en un cdigo breve y poco claro. Este nfasis tiene un gran significado en ingeniera, donde a menudo el trabajo es realizado en equipo y los programas deben ser compartidos y modificados por varias personas.

    Sistemticamente, las ciencias de la computacin han estudiado los factores y proce-dimientos necesarios para crear software de alta calidad de esta clase. Aunque los mtodos resultantes estn un tanto orientados hacia la programacin de productos en gran escala, muchas de las tcnicas generales son tambin tiles para el tipo de programas que los ingenieros desarrollan por rutina en su trabajo. En trminos generales, a dichas tcnicas les llamaremos de programacin y diseo estructurado. En esta seccin trataremos tres de esas propuestas: diseo modular, diseo top-down, programacin estructurada.

    2.2.2 Diseo modular

    Imagine usted qu difcil sera estudiar un libro de texto que no tuviera captulos, ni secciones ni prrafos. Podramos dividir las tareas o los temas en partes ms pequeas, de manera que fuesen ms fciles de manejar; con esa misma tendencia, podramos divi-dir los programas de computadora en pequeos subprogramas o mdulos que puedan ser preparados y puestos a prueba por separado. A esta forma de trabajar so le llnmu c/i.l'cdfo modular.

    1' : 1

    : 1

    -~--------~----~------

  • 31 COMPUTADORAS Y PROGRAMAS

    La caracterstica ms importante de cada uno de los mdulos es que stos sean tan independientes entre s como sea posible. Adems, hay diseos tpicos para representar una funcin concreta y bien definida, y tienen un punto de entrada y un punto de salida. Por lo general, se trata de instrucciones cortas (es decir, de 50 a 100 instrucciones de longitud) y con un alto enfoque.

    Uno de los elementos primordiales de programacin que representan cada mdulo es el subprograma o procedimiento. Un subprograma, es una serie de instrucciones para computadoras que ejecutan una funcin dada. Por lo comn, se usan dos tipos de proce-dimientos: las funciones y las subrutinas; las primeras dan un solo resultado, mientras que las segundas ofrecen varios. Un llamado o programa principal invoca a esos mdu-los cuando sean necesarios. Por lo tanto, el programa principal organiza cada una de las partes en una serie lgica.

    Adems, se debe mencionar que mucha de la programacin relacionada con paquetes de software, como Excel y MATLAB, echa mano del desarrollo de funciones. Es decir, los macros en Excel y las funciones de MATLAB se disearon para recibir alguna informa-cin, ejecutar clculos y dar resultados. As, el pensamiento modular es consistente con la manera en que se aplica la programacin en el ambiente de estos paquetes.

    El diseo modular tiene un gran nmero de ventajas. El uso de unidades breves e independientes constituye la lgica fundamental que tanto el programador como el usua-rio pueden seguir y entender con facilidad. El desarrollo es sencillo porque cada mdulo se puede mejorar por separado. En efecto, en el caso de grandes proyectos, diferentes programadores pueden trabajar con partes individuales. En este mismo sentido, usted pmde conservar su propia biblioteca de mdulos para usarlos ms tarde en otros progra-mas. El diseo modular tambin hace que un programa sea cada vez ms fcil de depurar y probar, de modo que los errores puedan ser detectados con facilidad. Finalmente, el mantenimiento y la modificacin de los programas tambin se facilitan. Esto es funda-mental porque los nuevos mdulos pueden ser perfeccionados para cumplir cometidos adicionales, con lo cual se podrn incorporar a un esquema coherente y organizado.

    2.2.3 El diseo top-down Aunque en la seccin anterior se present la nocin de diseo modular, no aclaramos cmo reconocer los actuales mdulos. El proceso de diseo de top-down es particular-mente efectivo para lograr ese objetivo.

    El diseo top-down es un proceso de desarrollo sistemtico que empieza con una declaracin general de los objetivos del programa para luego dividirse, sucesivamente, en segmentos ms detallados. As, el proceso de diseo va de lo general a lo especfico. Muchos diseos top-down empiezan con una descripcin literal del programa en sus trminos generales. Esta descripcin significa descomponer en unos cuantos elementos que definan las grandes funciones del programa; luego, cada uno de estos elementos se divide a su vez en subelementos. Este proceso debe continuar hasta que se hayan identi-ficado bien todos los mdulos.

    Adems de que proporciona un mtodo para dividir el algoritmo en unidades bien

    f l l. l 1 l t

    definidas, el diseo top-down tiene otros beneficios. En especial, procura que el produc- 1 to final sea cabalmente entendido. Si se comienza con una amplia definicin y poco a poco se agregan los detalles, el programaqor no se ver en aprietos para examinar las operacione~ importantes.

  • 2.3 DISENO DE ALGORITMOS 31

    2.2.4 Programacin estructurada

    El modular y el top~down se acercan adecuadamente, por caminos efectivos, a lo que es la organizacin de un programa. En uno y otro caso, se hace hincapi en lo que debe hacer el programa. Aunque por lo comn esto garantiza que el programa tendr consistenca y estar hbilmente organizado, no puede asegurarse que las instrucciones del programa o cdigo para cada mdulo tengan alguna relacin con la claridad y el orden. La programacin estructurada, por otro lado, aborda la manera en que se formula el cdigo del programa, de manera que sea correcto, modificable y fcil de entender.

    En esencia, la pmgramacin estructurada es un conjunto de reglas que generan buenos hpitos de estilo para programar. Pese a que la programacin estructurada es suficienterpente flexible para permitir una creatividad considerable y formas de expre-sin personal, las reglas imponen tales restricciones que dan como resultado un cdigo superior 'a' las versiones no estructuradas. En especial, el producto terminado es ms elegante y fcil de entender.

    Las reglas que constituyen la programacin estmcturada sern descritas en la si-guiente seccin (2.4.2). Antes de hacerlo, volveremos al primer paso del proceso de de-sarrollo de programas, diseando la lgica fundamental o el algoritmo del programa.

    2.3 DISEO DE ALGORITMOS Los problemas ms comunes con que se encuentran los programadores inexpertos pue-den estar relacionados con la preparacin prematura de un programa que no tiene pies ni cabeza. En los inicios de la computacin, esto era especialmente complicado porque los componentes de diseo y programacin no estaban claramente separados. A menu-do, los programadores deban presentar un proyecto de cmputo, sin antes formular un diseo claro, lo cual derivaba en toda clase de problemas e 'ineficiencias. Por ejemplo, el programador deba ponerse a trabajar slo para descubrir que algunos factores pre-liminares clave haban sido descuidados. Adems, er~ lgico que los programas con-cebidos de maneta improvisada fueran invariablemente confusos. Esto quiere decir que para alguien era particularmente difcil modificar algo de ese programa. Hoy, debido a los altos costos por la preparacin del software, se hace especial hincapi en que algunos aspectos -como una planeacin preliminar- resultan ventajosos para obtener un

    \1 producto ms consistente y eficiente. E objeto de esta planeacin es el diseo de algo-ritmo.

    Un algoritmo es la secuencia de pasos lgicos necesarios para llevar a cabo una tarea especfica, como la resolucin de un problema. Para realizar este objetivo, un buen algoritmo debe contar confos siguientes atributos:

    l. Cada paso debe ser determinado, es decir, no puede ser obra de la casualidad. Los resultados finales no pueden depender de quien sigue el algoritmo. En este sentido, un algoritmo es como una receta de cocina. Dos cocineros que trabajan cada uno por su lado,,con una buena receta deberan preparar platillos esencialmente idnticos.

    2. El proceso debe ser siempre terminar despus de un nmero finito de pusos. Un algoritmo no puede tener un final abierto.

    3. El algoritmo debe ser lo suficientemente generalizado como pum or.:upuro

  • ., . --in ... .-- ~~ ----~-~---

    FIGURA 2.4 o) Algoritmo, b) Diagramas de flujo, y e) Seudocdigo de un programa para una simple suma.

    COMPUTADORAS V PROGRAMAS

    Paso 1 : Empezar el clculo

    Paso 2: Introduce un valor para la primera variable

    Paso 3: Introduce un valor para el segundo valor

    Paso 4: Suma de variables

    Paso 5: Salida del resultado

    Paso 6: Fin del clculo

    a) Algoritmo

    Entrada a

    Sume ay by se guarda en e

    Fin

    b) Diagrama de flujo

    BEGINSuma INPUT a INPUTb C=a+b PRINTc

    END Suma

    e) Seudocdigo

    La figura 2.4a muestra un algoritmo para resolver el problema sencillo de la suma de dos nmeros. Dos programadores que trabajan cada cual por su lado a partir de este algoritmo podran desarrollar programas con algn estilo diferente. No obstante, consi-derando los mismos datos, el programa debera dar resultados idnticos.

    Las descripciones, literalmente paso a paso, de la forma que se representa en la figura 2.4a son una manera de expresar un algoritmo. Estas descripciones son particular-mente tiles en el caso de problemas sencillos o para especificar las tareas esenciales de una larga programacin. No obstante, para la representacin detallada de programas complicados, resultan virtualmente inadecuadas. Por esta razn, se han desarrollado al-ternativas ms verstiles, como los diagramas de flujo o los seudocdigos.

    2.3. 1 Diagramas de flujo Un diagrama de flujo es la representacin grfica de un algoritmo. Los diagramas de flujo emplean una serie de bloques y flechas, cada uno de los cuales representa una operacin en especial o un paso del algoritmo. Las flechas representan la secuencia en que se llevan a cabo las operaciones. La figura 2.4b muestra el diagrama de flujo para un problema de la suma de dos nmeros.

    ,

    1 "

  • '

    t

    FIGURA 2.5 Smbolos usados en diagramas de flujo.

    No todos los interesados en la programacin de computadoras est{m de acuerdo con que los diagramas de flujo son un esfuerzo productivo. De hecho, hay programadores experimentados que no son partidarios de los diagramas de flujo. Sin embargo, creemos que hay tres buenas razones para estudiarlos. Primera, todava se emplean para expresar y comunicar los algoritmos. Segunda, aunque no se empleen rutinariamente, en ocasio-nes sern tiles para proyectar, desenmaraar o transmitir la lgica de nuestros propios programas o de los de otras personas. Finalmente, y an ms importante para nuestros propsitos, son una excelente herramienta pedaggica. Desde el punto de vista de la enseanza, los diagramas de flujo son un vehculo ideal para visualizar algunas estructu-ras fundamentales de control empleadas en la programacin de computadoras.

    Smbolos de los diagramas. Ntese que, en la figura 2.4b, los bloques tienen dife-rentes formas para distinguir diferentes tipos de operaciones. En los incisos de la com-putacin, los smbolos del diagrama de flujo no estaban estandarizados. Esto conduca a la confusin, porque los programadores usaban diferentes smbolos para representar la misma operacin. Hoy, para facilitar la comunicacin, se ha creado un nmero de siste-mas estandarizados. En este libro usaremos el conjunto de smbolos mostrados en la figura 2.5.

    El diagrama de flujo se lee de principio a fin, siguiendo las lneas de flujo de la lgica del algoritmo. As, como se muestra en la figura 2.4b, deberamos empezar con el block de "inicio" para luego seguir las flechas hasta llegar al block de "final". Si el diagrama de flujo est bien escrito, no debera haber duda con respecto a la ruta correcta. Diseo de algoritmo top-down. No hay reglas para detallar cmo deberan ser los diagramas de flujo. Durante la elaboracin de un algoritmo ms grande, usted a menudo dibujar el diagrama de flujo con varios niveles de complejidad. A manera de ejemplo, la figura 2.6 representa una jerarqua de tres caracteres que podran usarse en la elabora-cin de un algoritmo para determinar el grado de avance (GDA) o ndice acumulativo de

    SMBOLO

    e=) ~

    1 1

    / 7 o o

    c::J

    NOMBRE

    Terminal

    Lneas de flujo

    Proceso

    Entrada salida

    Decisin

    Conector

    FUNCIN

    Representa el inicio y el final del programa.

    Representa la lgica del flujo. Las curvas colocadas sobre las flechas horizontales indican que stas pasan sobre las verticales sin concentrarse con ellas.

    Representa clculos o manipulacin de datos.

    Representa las entradas o salidas de datos e informacin.

    Representa una comparacin, pregunta o una decisin que determina las diferentes alternativas diferentes a seguir.

    Representa la confluencia de lneas de flujo.

    Conector de pgina Representa una separacin que contina en la siguiente pgina.

    Ciclo de conteo controlado

    Se usa para ciclos con un nmero especfico de repeticiones.

  • 34

    FIGURA 2.6 Diagrama de fluo por erarquas para !rotar el problema del promedio de calificaciones de los estudiantes. El sistema del diagrama de flujo a) proporciona una idea del plan. En b) se muestra con r\nayor detalle ~I diagrama de los grandes mdulos. En e) se muestra un segmento de los grandes mdulos con mayor detalle. El camino que sigue este problema se llama diseo top-down.

    COMPUTADORAS Y PROGRAMAS

    Determinar el promedio de calificaciones para los cursos asignados durante el semestre

    Determinar el GDA para el semestre regular

    Combinar el GDA anterior con el actual con el fin de calcular un GDA global

    Fin

    a)

    Uso def factor de pes,6 promedio para calcular la calificacin final

    b) e)

    11

  • L

    ,,J CJ5eNO ci: ALCiOKITMC!

    un estudiante. El sistema de diagrama de flujo (figura 2.6a) traza la figura grande. sta identifica las mayores tareas, o mdulos, y la secuencia que se requiere para resolver todo tl problema. icho diagrama de flujo es de valor incalculable para asegurar que el esquema total es lo suficientemente comprendido para ser existoso. Luego, los mdulos principales pueden separarse y trazarse con todo detalle (figura 2.6b). Finalmente, en ocasiones conviene separar-en varios mdulos para que la unidad sea ms manejable, como en la figura 2 .. 6c. ste es un ejemplo del proceso de diseo de top-down, como se present en la seccin 2.2.3.

    En las siguientes secciones estudiaremos y perfeccionaremos el diagrama de flujo de fa figura 2.6c. Esto nos ensear a orga1zar los smbolos de la figura 2.5 para elabo-rar un algoritmo de manera eficiente y efe~tiva. En este caso, demostraremos cmo se puede reducir la potencia de las computadoras a tres tipos fundamentales de operacio-nes. La primera, que ya debera ser aparente, es que la lgica de la computadora puede proceder en una secuencia definida; como se muestra en la figura 2.6 incisos, a) y c), sta se halla representada por un flujo lgico de bloque en bloque. Las otras dos opera-ciones fundamentales son la seleccin y la repeticin.

    Algoritmo estructurado. Obsrvese que las operaciones de la figura 2.6, incisos a) y c), ilustran una sencilla seettencla de flujo. Es decir, que las operaciones se hacen una despus de otra. Sin embargo, obsrvese cmo el primer smbolo de toma de decisin en forma de diamante (figura 2.6b) pernte que el flujo se divida, siguiendo una de las dos posibles rutas, dependiendo de la respuesta a la pregunta. En este caso, si se deternnan las notas finales, el flujo seguir la ruta de la derecha; pero si se deternnan las notas intermedias, el flujo seguir la ruta de la izquierda. A este tipo de operacin_de diagrama de flujo se le llama de seleccin.

    Aparte de representar una bifurcacin condicional, la figura 2.6b muestra otra ope-racin de diagrama de flujoque incrementa notablemente la potencia de los programas de computadoras: la repeticin. Advirtase que la bifurcacin "falsa" en el smbolo de la segunda decisi6n: permite que el flujo regrese al inicio del mdulo y repita el proceso de clculo para otro curso. Esta capac