metodos numericos aplicados a la ingenieria nieves

download metodos numericos aplicados a la ingenieria   nieves

If you can't read please download the document

Transcript of metodos numericos aplicados a la ingenieria nieves

  • MTODOS NUMRICOS.... -

    APLICADOS A LA INGENIERA

    Antonio NievesFederico C. Domnguez

    MTODOS NUMRICOS APLICADOS A LA INGENIERA

    Antonio Nieves Federico C. Domnguez

  • Mtodos NumricosAplicados a la Ingeniera

    Antonio Nieves Hurtado

    Federico C. Domnguez SnchezProfesores de la Academia de Matemticas Aplicadas

    ESIQIE-IPN

    QUINTA REIMPRESINMXICO, 2006

    -/

    II

    COMPAA EDITORIAL CONTINENTAL

    Mtodos NUDlricos Aplicados a la Ingeniera

    Antonio Nieves Hurtado

    Federico C. Domnguez Snchez

    Profesores de la Academia de Matemticas Aplicadas ES/Q/E-/PN

    QUINTA REIMPRESIN MXICO,2006

    COMPAA EDITORIAL CONTINENTAL

  • ;:a

    Para establecer comunicacincon nosotros puede hacerlo por:

    correo:Renacimiento 180, Col. San JuanTlihuaca, Azcapotzalco,02400, Mxico, D.F.

    fax pedidos:(01 55) 5561 40635561 5231

    e-mail:[email protected]

    home page:www.patriacultural.com.mx

    Direccin editorial: Javier Enrique CallejasCoordinacin editorial: Elisa Pecina RosasDiseo de interiores:Guillermo Rodrguez LunaDiseo de portada: Perla Alejandra Lpez Romo

    Colaboracin especial:DI. Guillermo Marroqun SurezProfesor de la Academia de Matemticas AplicadasESIQIE - Instituto Politcnico Nacional

    Revisin tcnica:M.C. Jos Luis TurrizaProfesor de MatemticasESIME-IPN

    Mtodos Numricos, aplicados a la ingenieraDerechos reservados respecto a la segunda edicin: 1995, 2002, Antonio Nieves Hurtado / Federico C. Donnguez Snchez 1995, COMPAA EDITORIAL CONTINENTAL, S.A. DE C.V. 2002, GRUPO PATRIA CULTURAL, S.A. DE C.V.bajo el sello de Compaa Editorial ContinentalRenacimiento 180, Colonia San Juan Tlihuaca,Delegacin Azcapotzalco, Cdigo Postal 02400, Mxico, D.F.

    Miembro de la Cmara Nacional de la Industria EditorialRegistro nm. 43

    ISBN 970-24-0258-1 (segunda edicin)(ISBN 968-26-1260-8 primera edicin)

    Queda prohibida la reproduccin o transmisin total o parcial del conte-nido de la presente obra en cualesquiera formas, sean electrnicas omecnicas, sin el consentimiento previo y por escrito del editor.

    Impreso en MxicoPrinted in Mexico

    Primera edicin: 1995Segunda edicin: 2002Cuarta reimpresin: 2005Quinta reimpresin: 2006

    Para establecer comunicacin con nosotros puede hacerlo por:

    correo: Renacimiento 180, Col. San Juan Tlihuaca, Azcapotzalco, 02400, Mxico, D.F.

    fax pedidos: (01 55) 5561 40635561 5231

    e-mail: [email protected]

    home page: www.patriacultural.com.mx

    Direccin editor: Javier Enrique Callejas Coordinacin editorial: Elisa Pecina Rosas Diseo de interiores:Guillermo Rodrguez Luna Diseo de portada: Perla Alejandra Lpez Romo

    Colaboracin especial: Dr. Guillermo Marroqun Surez Profesor de la Academia de Matemticas Aplicadas ESIQIE - Instituto Politcnico Nacional

    Revisin tcnica: M.C. Jos Luis Turriza Profesor de Matemticas ESIME-IPN

    Mtodos Numricos, aplicados a la ingeniera Derechos reservados respecto a la segunda edicin: 1995, 2002, Antonio Nieves Hurtado / Federico C. Dornnguez Snchez 1995, COMPAA EDITORIAL CONTINENTAL, S.A. DE C.V. 2002, GRUPO PATRIA CULTURAL, S.A. DE C.V. bajo el sello de Compaa Editorial Continental Renacimiento 180, Colonia San Juan Tlihuaca, Delegacin Azcapotzalco, Cdigo Postal 02400, Mxico, D.F.

    Miembro de la Cmara Nacional de la Industria Editorial Registro nm. 43

    ISBN 970-24-0258-1 (segunda edicin) (ISBN 968-26-1260-8 primera edicin)

    Queda prohibida la reproduccin o transmisin total o parcial del conte-nido de la presente obra en cualesquiera formas, sean electrnicas o mecnicas, sin el consentimiento previo y por escrito del editor.

    Impreso en Mxico Printed in Mexico

    Primera edicin: 1995 Segunda edicin: 2002

    Cuarta reimpresin: 2005 Quinta reimpresin: 2006

  • "F'

    A los Eggli:Violet (Mom), Fred,

    Josephine, Richard y David.

    Gracias

    Antonio

    A mis hijos Alura,Alejandra y Federico,a mis hermanos, y ala memoria de mis padres.

    Federico

    A los Eggli: Violet (Mom), Fred,

    Josephine, Richard y David.

    A mis hijos Alura, Alejandra y Federico, a mis hermanos, y a

    Gracias

    Antonio

    la memoria de mis padres.

    Federico

  • CONTENIDO

    PREFACIO xi

    1 ERRORES 11.1 Sistema numrico 21.2 Manejo de nmeros en la computadora 81.3 Errores 111.4 Algoritmos y estabilidad 19

    Ejercicios 20Problemas 24

    2 SOLUCiN DE ECUACIONES NO LINEALES 292.1 Mtodo de punto fijo 30

    ALGORITMO 2. 1 Mtodo de punto fUo 352.2 Mtodo de Newton-Raphson 44

    ALGORITMO 2.2 Mtodo de Newton-Raphson 472.3 Mtodo de la secante 47

    ALGORITMO 2.3 Mtodo de la secante 502.4 Mtod~ de posicin falsa 51

    ALGORITMO 2.4 Mtodo de posicin falsa 542.5 Mtodo de la bisecdn 542.6 Problemas de los mtodos de dos puntos y

    orden de convergencia 562.7 Aceleracin de convergencia 59

    ALGORITMO 2.5 Mtodo de Steffensen 622.8 Bsqueda de valores iniciales 632.9 Races complejas 69

    ALGORITMO 2.6 Mtodo de M//er 762.10 Polinomios y sus ecuaciones 77

    ALGORITMO 2.7 Mtodo de Horner 79ALGORITMO 2.8 Mtodo de Horner iterado 82Ejercicios 90Problemas 117

  • viii Mtodos numricos aplicados a la ingeniera

    3 MATRICES y SISTEMAS DE. ECUACIONES LINEALES 1293.1 Matrices 130

    ALGORITMO 3.1 Multiplicacin de matrices 1363.2 Vectores 1413.3 Independencia y ortogonaUzacin de vectores 149

    ALGORITMO 3.2 Ortogonalizacin de Gram Schmidt 1593.4 Solucin de sistemas de ecuaciones lineales 162

    ALGORITMO 3.3 Eliminacin de Gauss 168ALGORITMO 3.4 Eliminacin de Gauss con pivoteo 172ALGORITMO 3.5 Mtodo de Thomas 181ALGORITMO 3.6 Factorizacin directa 187ALGORITMO 3.7 Factorizacin con pivoteo 188ALGORITMO 3.8 Mtodo de Doolitle 191.ALGORITMO 3.9 Factorizacin de matrices simtricas 193ALGORITMO 3.10 Mtodo de Cholesky 196

    3.5 Mtodos iterativos 206ALGORITMO 3.11 Mtodos de Jacobi y Gauss-Seidel 216

    3.6 Valores y vectores propios 222Ejercicios 228Problemas 238

    4 SISTEMAS DE ECUACIONES NO L1NE.ALES 255

    4 . Dificultades en la solucin de sistemas deecuaciones no lineales 256

    4.2 Mtodo de punto fijo multivariable 259ALGORITMO 4.1 Mtodo de punto fUo multivariable 265

    4.3 Mtodo de Newton-Raphson 266ALGORITMO 4.2 Mtodo de Newton-Raphson multivariable 273

    4.4 Mtodo de Newton-Raphson modificado 275ALGORITMO 4.3 Mtodo de Newton-Raphson modificado 278

    4.5 Mtodo de Broyden 279ALGORITMO 4.4 Mtodo de Broyden 283

    4.6 Aceleracin de convergencia 283ALGORITMO 4.5 Mtodo del descenso de mxima pendiente 297

    4.7 Mtodo de Bairstow 299Ejercicios 304Problemas 316

  • -----

    Contenido ix

    5 APROXIMACiN FUNCIONAL E INTERPOLACIN 332s.r Aproximacin pollnomlal simple e interpolacin 325

    ALGORITMO 5. 1 Aproximacin polinomial simple 3285.2 Polinomios de Lagrange 328

    ALGORITMO 5.2 lnterpotactn de polinomios de Lagrange 3335.3 Diferencias divididas 334

    ALGORITMO 5.3 Tabla de diferencias divididas 3385.4 Aproximacin polinomial de Newton 338

    ALGORITMO 5.4 Interpolacin polinomial de Newton 3425.5 Polinomio de Newton en diferencias finitas 3435.6 Estimacin de errores en la aproximacin 3525.7 Aproximacin pollnomlal segmentaria 3565.8 Aproximacin (polinomial con mnimos cuadrados 362

    ALGORITMO 5.5 Aproximacin con mnimos cuadrados 3695.9 Aproximacin~ Jllul!iline~1 con ~nimos _cuadr~dos 370

    Ejercicios 373Problemas 382

    6 INTEGRACiN y DIFERENCIACiN NUMRICA 3936.t Mtodos de Newton Cotes 395

    ALGORITMO 6.1 Mtodo trapezoidal compuesto 403ALGORITMO 6.2 Mtodo de Simpson compuesto 406

    6.2 Cuadratura de Gauss 415ALGORITMO 6.3 Cuadratura de Gauss-Legrange 421

    6.3 Integrales mltiples 422ALGORITMO 6.4 Integracin doble por Simpson 1/3 428

    6.4 Diferenciacin numrica 429ALGORITMO 6.5 Derivacin de polinomios de Lagrange 437Ejercicios 437Problemas 448

    7 ECUACIONES DlfE.RENCIALES ORDINARIAS 4577.t Formulacin del problema de valor inicial 4597.2 Mtodo de Euler 460

    ALGORITMO 7.1 Mtodo de Euler 4637.3 Mtodo de Taylor 463

  • X Mtodos numricos aplicados a la ingeniera

    7.4 Mtodos de Euler modificado 466ALGORITMO 7.2 Mtodo de Euler modificado 468

    7.5 Mtodos de Runge-Kutta 469ALGORITMO 7.3 Mtodo de Runge-Kutta de cuarto orden 473

    7.6 Mtodos de prediccin-correccin 474ALGORITMO 7.4 Mtodo predictor-corrector 484

    7.7 Ecuaclones diferenciales ordinarias de orden superior ysistemas de ecuaciones diferenciales ordinarias 485ALGORITMO 7.5 Mtodo de Runge-Kutta de cuarto orden para un

    sistema de dos ecuaciones diferenciales ordinarias 491 017.8 formulacin del problema de valores en la frontera 492

    Ejercicios 496Problemas 518

    8 ECUACIONES DIFERENCIALES PARCIALES 5278. Obtencin de ecuaclones diferenciales parciales a

    partir de la modelacin de fenmenos fsicos(ecuacin de calor y ecuacin de onda) 528

    8.2 Aproximacin de derivadas por diferencias finitas 5328.3 Solucin de problemas de calor unldlmenslonal 536 1.11

    ALGORITMO 8.1 Mtodo explcito 541ALGORITMO 8.2 Mtodo implcito 551

    8.4 Convergencia (mtodo explcito), estabilidad yconsistencia 553

    8.5 Mtodo de Crank-Nlcholson 556ALGORITMO 8.3 Mtodo de Crank-Nicholson 560

    8.6 Otros mtodos para resolver el problema deconduccin de calor en unidimensional 561

    8.7 Solucin de la ecuacin de onda. unidimensional 5638.8 Tipos de condiciones frontera en procesos fsicos y

    tratamientos de condiciones frontera irregulares 569Ejercicios 573Problemas 579

    RESPUESTAS A PROBLEMAS SELECCIONADOS 585

    ,.#

    INDICE ANALTICO 597

  • PREFACIO

    6668

    6973

    7484

    85

    91

    929618

    Objetivo del libro

    27

    El anlisis numrico y sus mtodos son una dialctica entre el anlisis matemtico cualitati-vo y el anlisis matemtico cuantitativo. El primero nos dice, por ejemplo, que bajo ciertascondiciones algo existe, que es o no nico, etctera, mientras que el segundo complementaal primero, permitiendo calcular aproximadamente el valor de aquello que existe.

    El anlisis numrico es pues: una reflexin sobre los cursos tradicionales de clculo,lgebra lineal, ecuaciones diferenciales entre otros, concretando en una serie de mtodos oalgoritmos, cuya caracterstica principal es la posibilidad de obtener resultados numricosde problemas matemticos de cualquier tipo a partir de nmeros y un nmero finito deoperaciones aritmticas. La finalidad de este libro es el estudio y uso racional de dichosalgoritmo s en diferentes reas de ingeniera y ciencias.28

    323611

    Enfoque del libro

    6o

    La nocin de algoritmo es un concepto clsico en las matemticas. Es un concepto muyanterior a la aparicin de las computadoras yde las calculadoras. Por ejemplo, en el Papi-ro de Ahmes o de Rhind (de hacia el ao 1650 a. C.) se encuentra la tcnica de posicinfalsa aplicada a la solucin de ecuaciones lineales y, en el Jiuzhang suanshu (el libro msfamoso de la matemtica china del ao 200 a. C.) se resolvan sistemas de ecuaciones li-neales con el mtodo conocido hoy en da como eliminacin de Gauss.

    En realidad, en la enseanza bsica tradicional todos aprendimos algoritmos como elde la divisin, la multiplicacin y la extraccin de races cuadradas. Con el transcurso deltiempo, los dos primeros se convierten generalmente en las operaciones ms conocidas ypracticadas (aunque quizs tambin, en las ms incomprendidas) y, el tercero, en la opera-cin ms fcilmente olvidada.

    A fin de no caer en un curso ms de recetas matemticas desvinculadas y sin sentido,hemos desarrollado el material de este libro en torno a tres ideas fundamentales: el puntofijo, la eliminacin de Gauss y la aproximacin de funciones. Para instrumentarlas emplea-mos como recursos didcticos, en cada mtodo o situacin, diferentes sistemas de repre-sentacin: el grfico, el tabular y el algebraico, y promovemos el paso entre ellos. Con elfin de que el lector vea claramente la relacin entre los mtodos que estudia en el libroy su aplicacin en el contexto real, se resuelven al final de cada captulo alrededor de diezo ms problemas de diferentes reas de aplicacin. De igual manera, hacemos nfasis enel uso de herramientas como la calculadora y la computadora as como la importancia dela visualizacin en los problemas. Dada la importancia de cada uno de estos aspectos lostrataremos con cierto detalle a continuacin.

    3

    9

    3

    9

    5

    7

    PREFACIO

    Objetivo del libro

    El anlisis numrico y sus mtodos son una dialctica entre el anlisis matemtico cualitati-vo y el anlisis matemtico cuantitativo. El primero nos dice, por ejemplo, que bajo ciertas condiciones algo existe, que es o no nico, etctera, mientras que el segundo complementa al primero, permitiendo calcular aproximadamente el valor de aquello que existe.

    El anlisis numrico es pues: una reflexin sobre los cursos tradicionales de clculo, lgebra lineal, ecuaciones diferenciales entre otros, concretando en una serie de mtodos o algoritmos, cuya caracterstica principal es la posibilidad de obtener resultados numricos de problemas matemticos de cualquier tipo a partir de nmeros y un nmero finito de operaciones aritmticas. La finalidad de este libro es el estudio y uso racional de dichos algoritmos en diferentes reas de ingeniera y ciencias.

    Enfoque del libro

    La nocin de algoritmo es un concepto clsico en las matemticas. Es un concepto muy anterior a la aparicin de las computadoras yde las calculadoras. Por ejemplo, en el Papi-ro de Ahmes o de Rhind (de hacia el ao 1650 a. C.) se encuentra la tcnica de posicin falsa aplicada a la solucin de ecuaciones lineales y, en el Jiuzhang suanshu (el libro ms famoso de la matemtica china del ao 200 a. C.) se resolvan sistemas de ecuaciones li-neales con el mtodo conocido hoy en da como eliminacin de GaU'ss.

    En realidad, en la enseanza bsica tradicional todos aprendimos algoritmos como el de la divisin, la multiplicacin y la extraccin de races cuadradas. Con el transcurso del tiempo, los dos primeros se convierten generalmente en las operaciones ms conocidas y practicadas (aunque quizs tambin, en las ms incomprendidas) y, el tercero, en la opera-cin ms fcilmente olvidada.

    A fin de no caer en un curso ms de recetas matemticas desvinculadas y sin sentido, hemos desarrollado el material de este libro en tomo a tres ideas fundamentales: el punto fijo, la eliminacin de Gauss y la aproximacin de funciones. Para instrumentarlas emplea-mos como recursos didcticos, en cada mtodo o situacin, diferentes sistemas de repre-sentacin: el grfico, el tabular y el algebraico, y promovemos el paso entre ellos. Con el fin de que el lector vea claramente la relacin entre los mtodos que estudia en el libro y su aplicacin en el contexto real, se resuelven al final de cada captulo alrededor de diez o ms problemas de diferentes reas de aplicacin. De igual manera, hacemos nfasis en el uso de herramientas como la calculadora y la computadora as como la importancia de la visualizacin en los problemas. Dada la importancia de cada uno de estos aspectos los trataremos con cierto detalle a continuacin.

  • p

    xii Mtodos numricos aplicados a la ingeniera

    Los mtodos numricos y las herramientascomputaclonales

    COMPUTADORA

    Dado que cada algoritmo implica numerosas operaciones lgicas, aritmticas y en mlti-ples casos graficaciones, la computadora es fundamental para el estudio de stos. El bino-mio computadora-lenguaje de alto nivel (Fortran, Basic, C y otros) ha sido utilizadodurante muchos aos para la enseanza y el aprendizaje de los mtodos numricos. Y sibien esta frmula ha sido exitosa y sigue an vigente, tambin es cierto que la aparicinde paquetes comerciales como Mathcad, Maple, Matlab (por citar algunos de los ms co-nocidos) permiten nuevos acercamientos al estudio de los mtodos numricos. Por ejem-plo, han permitido que la programacin sea ms sencilla y rpida y han facilitado ademsla construccin directa de grficas en dos y tres dimensiones, as como la exploracin deconjeturas y la solucin numrica directa de problemas matemticos.

    En respuesta a estas dos vertientes, se acompaa el libro con un CD donde se hanmantenido los programas fuente de la primera edicin (Fortran, Pascal y C) y se han in-corporado programas en Visual Basic. En numerosos ejemplos, ejercicios y problemas uti-lizamos o sugerimos adems el empleo de los paquetes mencionados arriba.

    Pr4

    CALCULADORAS GRAFICADORAS

    Las calculadoras graficadoras (como la TI-89, TI-92, HP-48 o HP-49) disponen hoy en dade poderosos elementos como:

    a) Un sistema algebraico computarizado (CAS por sus siglas en ingls) que permite ma-nipulaciones simblicas y soluciones analticas de problemas matemticos.

    b) La graficacin en dos y tres dimensiones con facilidades como el zoom y el trace.c) La posibilidad de resolver numricamente problemas matemticos.d) La posibilidad de programar y utilizar a travs de dicha programacin los recursos

    mencionados en los incisos anteriores, convirtindose as el conjunto lenguaje-recur-sos en una herramienta an ms poderosa que un lenguaje procedural como Basic o C.

    Finalmente, su bajo costo, portabilidad y posibilidades de comunicacin con sitios Webdonde es posible actualizar, intercambiar y comprar programas e informacin, permitenplantear un curso de mtodos numricos sustentado en la calculadora o una combinacinde calculadora y computadora. A fin de apoyar esta accin hemos incorporado en muchos delos ejemplos y ejercicios programas en la TI-92.

    Se

    Visualizacin

    A raz de las posibilidades grficas que ofrecen las computadoras y las calculadoras, la vi-sualizacin ( un recurso natural del ser humano) ha tomado mayor importancia y se ha po-dido utilizar en las matemticas de diferentes maneras como: en la aprehensin de losconceptos, en la solucin de problemas, en la ilustracin de los mtodos y en general endarle un aspecto dinmico a diversas situaciones fsicas. As, hemos intentado aprovecharcada uno de estos aspectos y aplicarlos a lo largo del libro siempre que fue posible. Porejemplo, en el captulo 4, se presentan ilustraciones novedosas de los mtodos para resol-ver sistemas de ecuaciones no lineales (inclusive se han puesto en color varias de esas gr-

    xii Mtodos numricos aplicados a la ingeniera

    Los mtodos numricos y las herramientas computacionales

    COMPUTADORA

    Dado que cada algoritmo implica numerosas operaciones lgicas, aritmticas y en mlti-ples casos graficaciones, la computadora es fundamental para el estudio de stos. El bino-mio computadora-lenguaje de alto nivel (Fortran, Basic, C y otros) ha sido utilizado durante muchos aos para la enseanza y el aprendizaje de los mtodos numricos. Y si bien esta frmula ha sido exitosa y sigue an vigente, tambin es cierto que la aparicin de paquetes comerciales como Mathcad, Maple, Matlab (por citar algunos de los ms co-nocidos) permiten nuevos acercamientos al estudio de los mtodos numricos. Por ejem-plo, han permitido que la programacin sea ms sencilla y rpida y han facilitado adems la construccin directa de grficas en dos y tres dimensiones, as como la exploracin de conjeturas y la solucin numrica directa de problemas matemticos.

    En respuesta a estas dos vertientes, se acompaa el libro con un CD donde se han mantenido los programas fuente de la primera edicin (Fortran, Pascal y C) y se han in-corporado programas en Visual Basic. En numerosos ejemplos, ejercicios y problemas uti-lizamos o sugerimos adems el empleo de los paquetes mencionados arriba.

    CALCULADORAS GRAFICADORAS

    Las calculadoras graficadoras (como la TI-89, TI-92, HP-48 o HP-49) disponen hoy en da de poderosos elementos como:

    a) Un sistema algebraico computarizado (CAS por sus siglas en ingls) que permite ma-nipulaciones simblicas y soluciones analticas de problemas matemticos.

    b) La graficacin en dos y tres dimensiones con facilidades como el zoom y el trace. c) La posibilidad de resolver numricamente problemas matemticos. el) La posibilidad de programar y utilizar a travs de dicha programacin los recursos

    mencionados en los incisos anteriores, convirtindose as el conjunto lenguaje-recur-sos en una henamienta an ms poderosa que un lenguaje procedural como Basic o C.

    Finalmente, su bajo costo, portabilidad y posibilidades de comunicacin con sitios Web donde es posible actualizar, intercambiar y comprar programas e informacin, permiten plantear un curso de mtodos numricos sustentado en la calculadora o una combinacin de calculadora y computadora. A fin de apoyar esta accin hemos incorporado en muchos de los ejemplos y ejercicios programas en la TI-92.

    Visualizacin

    A raz de las posibilidades grficas que ofrecen las computadoras y las calculadoras, la vi-sualizacin ( un recurso natural del ser humano) ha tomado mayor importancia y se ha po-dido utilizar en las matemticas de diferentes maneras como: en la aprehensin de los conceptos, en la solucin de problemas, en la ilustracin de los mtodos y en general en darle un aspecto dinmico a diversas situaciones fsicas. As, hemos intentado aprovechar cada uno de estos aspectos y aplicarlos a lo largo del libro siempre que fue posible. Por ejemplo, en el captulo 4, se presentan ilustraciones novedosas de los mtodos para resol-ver sistemas de ecuaciones no lineales (inclusive se han puesto en color varias de esas gr-

  • Prefacio xiii

    ficas a fin de tener una mejor apreciacin de las intersecciones de superficies y de las ra-ces), ilustraciones de conceptos abstractas como el criterio de convergencia del mtodo depunto fijo univariable y la ponderacin de pendientes en los mtodos de Runge-Kutta.Adems se incluyen varios ejercicios en Visual Basic donde se simula algn fenmeno co-mo el de crecimiento de poblaciones (ejercicio 7.13), amortiguacin en choques (ejercicio7.11) y el desplazamiento de una cuerda vibrante (ejemplo 8.5). En estos ltimos se pue-den observar los resultados numricos en tiempo real y la grfica que van generando e in-cluso modificar los parmetros para hacer exploraciones propias. Todos ellos aparecen enel CD y se identifican con el icono correspondiente.

    Prerrequlsftos

    Generalmente los cursos de mtodos numricos siguen a los de clculo en una variable, elde ecuaciones diferenciales ordinarias y el' de programacin. No obstante, consideramosslo los cursos de clculo y de programacin como prerrequisitos. Los conocimientos delgebra lineal requeridos as como los elementos bsicos para estudiar las tcnicas de laecuaciones diferenciales parciales, se exponen en los captulos correspondientes. Si bienlos conceptos y tcnicas analticas de las ecuaciones diferenciales ordinarias seran ben-ficos y complementarios con los mtodos de este curso, no son, sin embargo, material in-dispensable.

    Secuencias sugeridas

    Como se dijo antes, el libro se desarrolla alrededor de tres ideas matemticas fundamen-tales: punto fijo, eliminacin de Gauss y aproximacin de funciones. Las dos primeras seestudian en los captulos 2 y 3, respectivamente, y junto con el captulo 4 constituyen laparte algebraica del libro. Un primer curso (semestral) de mtodos numricos podra orga-nizarse con los primeros cuatro captulos del libro, seleccionando las secciones que corres-pondan a su programa de estudios o a las necesidades especficas del curso.

    La tercera idea matemtica clave en el libro es la de aproximacin de funciones, lacual se presenta en el captulo 5 y sustenta el material de anlisis: integracin y deriva-cin numrica (captulo 6), y ms adelante ser la base de la parte de dinmica: ecuacio-nes diferenciales ordinarias y parciales (captulos 7 y 8, respectivamente). De este modoun curso semestral podra configurarse con los captulos 1,5,6,7 o bien 1,5,6,7 Y8 (verred de temas e interrelacin).

    Debido a esto y al hecho de que algunos tecnolgicos y universidades slo tiene uncurso de un semestre de mtodos numricos, podra elaborarse ste con una secuencia co-mo captulos 1,2,3,5 o bien 1,2,5,6, por ejemplo.

    Finalmente, recomendamos al maestro que cualquiera que sea la secuencia y las sec-ciones elegidas en cada una de ellas, se discuta y trabaje con los ejemplos resueltos de fi-nal de cada captulo.

    Prefacio xiii

    ficas a fin de tener una mejor apreciacin de las intersecciones de superficies y de las ra-ces), ilustraciones de conceptos abstractos como el criterio de convergencia del mtodo de punto fijo univariable y la ponderacin de pendientes en los mtodos de Runge-Kutta. Adems se incluyen varios ejercicios en Visual Basic donde se simula algn fenmeno co-mo el de crecimiento de poblaciones (ejercicio 7.13), amortiguacin en choques (ejercicio 7.11) y el desplazamiento de una cuerda vibrante (ejemplo 8.5). En estos ltimos se pue-den observar los resultados numricos en tiempo real y la grfica que van generando e in-cluso modificar los parmetros para hacer exploraciones propias. Todos ellos aparecen en el CD y se identifican con el icono correspondiente.

    Prerrequisitos

    Generalmente los cursos de mtodos numricos siguen a los de clculo en una variable, el de ecuaciones diferenciales ordinarias y el ' de programacin. No obstante, consideramos slo los cursos de clculo y de programacin como prerrequisitos. Los conocimientos de lgebra lineal requeridos as como los elementos bsicos para estudiar las tcnicas de la ecuaciones diferenciales parciales, se exponen en los captulos correspondientes. Si bien los conceptos y tcnicas analticas de las ecuaciones diferenciales ordinarias seran ben-ficos y complementarios con los mtodos de este curso, no son, sin embargo, material in-dispensable.

    Secuencias sugeridas

    Como se dijo antes, el libro se desarrolla alrededor de tres ideas matemticas fundamen-tales: punto fijo, eliminacin de Gauss y aproximacin de funciones . Las dos primeras se estudian en los captulos 2 y 3, respectivamente, y junto con el captulo 4 constituyen la parte algebraica del libro. Un primer curso (semestral) de mtodos numricos podra orga-nizarse con los primeros cuatro captulos del libro, seleccionando las secciones que corres-pondan a su programa de estudios o a las necesidades especficas del curso.

    La tercera idea matemtica clave en el libro es la de aproximacin de funciones, la cual se presenta en el captulo 5 y sustenta el material de anlisis: integracin y deriva-cin numrica (captulo 6), y ms adelante ser la base de la parte de dinmica: ecuacio-nes diferenciales ordinarias y parciales (captulos 7 y 8, respectivamente) . De este modo un curso semestral podra configurarse con los captulos 1,5,6,7 o bien 1,5,6,7 Y 8 (ver red de temas e interrelacin).

    Debido a esto y al hecho de que algunos tecnolgicos y universidades slo tiene un curso de un semestre de mtodos numricos, podra elaborarse ste con una secuencia co-mo captulos 1,2,3,5 o bien 1,2,5,6, por ejemplo.

    Finalmente, recomendamos al maestro que cualquiera que sea la secuencia y las sec-ciones elegidas en cada una de ellas, se discuta y trabaje con los ejemplos resueltos de fi-nal de cada captulo.

  • -----------------_._--==~-------------------------------~..--------~----

    xiv Mtodos numricos aplicados a la ingeniera

    Red de temas e interrelacin

    ICaptulo 1

    ~Errores

    ~Captulo 2 Captulo 3

    Solucin de ecuaciones no lineales Matrices y sistemas de ecuaciones lineales

    ~ ,Captulo 4

    Sistemas de ecuaciones no lineales

    tCaptulo 5 Captulo 6

    Aproximacin funcional e Integracin y diferenciacininterpolacin numrica

    1 I 1tCaptulo 8 Captulo 7

    Ecuaciones diferenciales parciales Ecuaciones diferenciales ordinarias

    M.

    ___ Dependencia en requisitos bsicos y mecnica de clculo de los algoritmo s

    .. Dependencia solamente de la mecnica de clculo de los algoritmos

    Cambios esenciales en esta edicin

    La mayora de estos cambios responden a sugerencias de profesores que imparten mto-dos numricos en diferentes instituciones del pas.

    A dnde nos dirigimos. Se inicia cada captulo con una introduccin donde se descri-be brevemente qu estudiaremos, cmo lo vamos a hacer, qu relacin guarda el ma-terial con el de los dems captulos y, algunas veces, el tipo de problemas que puedenresolverse.Guiones de Matlab. Se incluyen en el libro y en la carpeta Software de cada captulodel CD guiones de Matlab para distintos ejercicios, ejemplos y problemas.

    Programas en la TI-92. A lo largo del libro se dan programas para la TI-92. Programas en Visual Basic. A fin de aprovechar los aspectos visuales de los lengua-

    jes actuales, en el CD se proporcionan programas en Visual Basic que pueden ser mo-dificados para adaptarlos a otras situaciones.

    Nuevos ejemplos, ejercicios y problemas. Se han adicionado ejercicios y problemas deaplicacin para darle mayor versatilidad al material.

    Soluciones a ejemplos y ejercicios en Matlab, Mathcad y Mathematica en el CD. Seccin de valores y vectores propios. El material de valores y vectores propios que

    apareca originalmente disperso se ha organizado como la seccin 3.6.

  • Prefacio XV

    Seccin de problemas de valores a la frontera. Se ha incorporado la seccin 7.7 don-de se estudian ecuaciones diferenciales ordinarias con valores a la frontera.

    Mtodo de Bairstow. Se ha incorporado el mtodo de Bairstow para encontrar racesde ecuaciones polinomiales en la seccin 4.7 como una aplicacin de las tcnicas desolucin de ecuaciones no lineales.

    Ecuacin de onda unidimensional. En la nueva seccin 8.7 se resuelve la ecuacin deonda de modo de trabajar con ecuaciones hiperblicas y experimentar con el fenme-no de vibracin de una cuerda.

    leonas utilizados en la segunda edicin. El libro se redise ntegramente para facilitarsu lectura. En particular, se incluyeron los iconos que aparecen a continuacin para per-mitir al lector identificar con rapidez los nuevos apoyos con los que cuenta el libro.

    Guiones de Matlab.

    liiiI~

    Programas para la calculadora TI-92.

    Indica un programa en Visual Basic que se ha incluido el! el CD y que le ayudanen la solucin de ese ejercicio o ejemplo.

    La solucin se incluye en el CD (en Mathcad, Matlab y Mathematica).

    Materiales adicionales

    CD diseado especialmente para la segunda edicin con:

    Programas fuente en Visual Basic y sus respectivos ejecutables que corren en Win-dows 95 o posterior para la solucin de ejemplos y ejercicios.

    Documentos de Mathcad y guiones de Matlab. Los documentos en Mathcad permitendarle un sentido exploratorio a los mtodos numricos y los guiones segundos accesoa uno de los paquetes ms poderosos para resolver problemas matemticos.

    Algoritrnos, descripcin de los programas de cmputo y explicaciones detalladas desu uso.

    Ligas a sitios donde el lector encontrar tutoriales de Mathcad, Matlab y Mathemati-ea, en los que podr aprender a usar estos paquetes.

    Sugerencias de empleo de software comercial (Mathcad y Matlab, Mathematica) pararesolver un gran nmero de ejemplos y ejercicios.

    www. Sitio Web con:

    Actualizaciones del material del libro (nuevas soluciones, problemas, programas, etc-tera).

    Registro del usuario a fin de recibir las actualizaciones del material del libro y los pro-gramas que se desarrollen ms adelante (se estn escribiendo los programas en For-tran 90 y en Visual C++), as como poder enviar sus propias sugerencias o establecercomunicacin directa con los autores.

    Para tener acceso a este material, el lector slo necesita entrar a la pgina de GrupoPatria Cultural (http://www.patriacultural.com.mxJnieves/index.html) e ingresar losdatos de la obra.

    Prefacio XV

    Seccin de problemas de valores a la frontera. Se ha incorporado la seccin 7.7 don-de se estudian ecuaciones diferenciales ordinarias con valores a la frontera .

    Mtodo de Bairstow. Se ha incorporado el mtodo de Bairstow para encontrar races de ecuaciones polinomiales en la seccin 4.7 como una aplicacin de las tcnicas de solucin de ecuaciones no lineales.

    Ecuacin de onda unidimensional. En la nueva seccin 8.7 se resuelve la ecuacin de onda de modo de trabajar con ecuaciones hiperblicas y experimentar con el fenme-no de vibracin de una cuerda.

    Iconos utilizados en la segunda edicin. El libro se redise ntegramente para facilitar su lectura. En patticular, se incluyeron lo~ iconos que aparecen a continuacin para per-mitir al lector identificar con rapidez los nuevos apoyos con los que cuenta el libro.

    liiiI

    ~

    Guiones de Matlab.

    Programas para la calculadora TI-92.

    Indica un programa en Visual Basic que se ha incluido en el CD y que le ayudan en la solucin de ese ejercicio o ejemplo.

    La solucin se incluye en el CD (en Mathcad, Matlab y Mathematica).

    Materiales adicionales

    tJ CD diseado especialmente para la segunda edicin con: Programas fuente en Visual Basic y sus respectivos ejecutables que corren en Win-

    dows 95 o posterior para la solucin de ejemplos y ejercicios. Documentos de Mathcad y guiones de Matlab. Los documentos en Mathcad permiten

    darle un sentido exploratorio a los mtodos numricos y los guiones segundos acceso a uno de los paquetes ms poderosos para resolver problemas matemticos.

    Algoritmos, descripcin de los programas de cmputo y explicaciones detalladas de su uso.

    Ligas a sitios donde el lector encontrar tutoriales de Mathcad, Matlab y Mathemati-ca, en los que podr aprender a usar estos paquetes.

    Sugerencias de empleo de software comercial (Mathcad y Matlab, Mathematica) para resolver un gran nmero de ejemplos y ejercicios.

    www. Sitio Web con:

    Actualizaciones del material del libro (nuevas soluciones, problemas, programas, ei;-tera).

    Registro del usuario a fin de recibir las actualizaciones del material del libro y los pro-gramas que se desarrollen ms adelante (se estn escribiendo los programas en For-tran 90 y en Visual C++), as como poder enviar sus propias sugerencias o establecer comunicacin directa con los autores .

    Para tener acceso a este material, el lector slo necesita entrar a la pgina de Grupo Patria Cultural (http://www.patriacultural.com.mxJnieves/index.html) e ingresar los datos de la obra.

    /

  • -------------------------------------------------------------'I!!
  • radee unaz deque

    nton-dife-al la

    n pa-ma-e losn ale losyalas.lar asen-

    CP'\PTULO tERRORES

    A dnde nos dirigimos"'En este captulo revisaremos tres de los sistemas numricos posicionales msrelevan-

    tes en el estudio de los mtodos numricos: binario, octal y decimal. Para esto analiza-remos las conversiones entre ellos, la representacin y manejo del sistema binario en lacomputadora, as como los diversos errores que ello puede ocasionar y algunas formasde evitados. Dada la naturaleza electrnica de las calculadoras y computadoras, los sis-temas binario y octal resultan los ms indicados a usarse en estos dispositivos; por loque, a fin de tener una idea de los procesos numricos internos en ellas, conviene hacerun estudio de tales sistemas y su conversin al decimal, ya que ste es finalmente nues-tro medio de enlace con las mquinas.

    Por mi lado, dada la finititud de la palabra de memoria de las mquinas, es imfo-sible representar a todos los nmeros reales en ella. As, nmeros como Te, [2, :3 =0.333 ..., nmeros muy pequeos" (o muy grandes) se manejan usando nmeros que sonaproximaciones de ellos o simplemente no se manejan. Por otro lado, una de las carac-tersticas ms sobresalientes de los mtodos numricos es el uso de los nmeros realesen clculos extensos. Cabe entonces preguntarse qu efecto tienen tales aproximacio-nes en los clculos que hacemos con dichos nmeros, en los resultados que obtenemose incluso qu nmeros reales pueden representarse exactamente en la computadora.

    El conocimiento de todo esto nos ayudar a evitar cierto tipo de errores, analizarsu propagacin e incluso interpretar mejor los resultados dados por una mquina.

    Introduccin

    En la antigedad, los nmeros naturales se representaban con distintos tipos de smboloso numerales. A continuacin se presentan algunas muestras de numerales primitivos. (Fig.1.1 Y 1.2).

    ~ 11 3: m6 - - 11- 16-1 - -

    ~ I ~7 - - 17-2 ~ 12 -- -..

    ~

    ~ E ~8 -3 - 13 - 18-- -a 9 ~ ~ ~4 - 14 - 19-- --

    ~ 10 -11 m CERO ~~5 -- - 15 --Figura 1.1Numerales

    usados por losmayas.

    En estos casos la computadora enva un mensaje indicando que el nmero es muy pequeo (underf/ow) o muygrande ioverflow para su capacidad.

  • 2 Mtodos numricos aplicados a la ingeniera

    UNO DOS TRES CUATRO

    1 1 111 1111

    Figura 1.2~ ~ ~ ~Numerales -

    primitivos.

    En la figura 1.2 se puede observar que cada numeral es un conjunto de marcas sencillas eiguales. Imagnese si as se escribiera el nmero de pginas del directorio telefnico dela Ciudad de Mxico! No sera prctico por la enorme cantidad de tiempo y de espacio querequerira tal sucesin de marcas iguales. Ms an, nadie podra reconocer, a primera vis-ta, el nmero representado. Por ejemplo, podra identificar rpidamente el siguiente nu-meral?

    = ?Los antiguos egipcios evitaron algunos de los inconvenientes de los numerales represen-tados por medio de marcas iguales, usando un solo jeroglfico o figura. Por ejemplo, en lu-gar de 1 1 1 1 1 1 1 1 ! 1, usaron el smbolo 11. Este jeroglfico representaba el huesodel taln. En la Fig. 1.3 se muestran otros numerales egipcios bsicos relacionados conlos del sistema decimal que les corresponden.

    10 100 1,000 10,000 100,000 1'000,000

    ~ n 1. r( P

  • sedeues-u-

    en-lu-esoon

    Errores 3

    A continuacin, tambin empezando por la izquierda, se encierra cada par de valos enotro mayor.

    ~_I @)@_'_9Finalmente, se encierra cada par de valos en uno mayor todava, comenzando tambinpor la izquierda.

    Ntese que el nmero de marcas dentro de cualquier valo es una potencia de 2.

    El nmero representado por el numeral I I se

    obtiene as

    o tambin

    Hay que observar que en esta suma no aparece 22. Como OX 22 = O,entonces la suma pue-de escribirse as

    Ahora puede formarse un nuevo smbolo para representar esta suma omitiendo los parn-tesis, los signos de operacin + y X, Y las potencias de 2, de la siguiente manera:

    ( 1 X 23 )

    11

    + (O X 22)

    1O

    + ( 1 X 21) + ( 1 X 2 )

    1 1Nuevo smbolo: 1 1

    Ahora bien, cmo interpretaremos este nuevo smbolo?El significado de los nmeros 1 en este nuevo smbolo depende del lugar que ocupan en

    el numeral. As pues, el primero de derecha a izquierda representa una unidad; el segun-do, un grupo de dos (o bien 2'), el cuarto cuatro grupos de dos (8, o bien 23). El cero es elmedio de asignarle a cada "1" su posicin correcta. A los nmeros o potencias de 2 que re-presentan el "1" segn su posicin en el numeral, se les llama valores de posicin; se diceque un sistema de numeracin que emplea valores de posicin es un sistema posicional.

    El sistema de este ejemplo es un sistema de base dos, o sistema binario, porque em-plea un grupo bsico de dos smbolos: Oy 1. Los smbolos "1" y "O" utilizados para escri-bir los numerales se denominan dgitos binarios o bits.

    Qu nmero representa el numerallOlOlOdos?(Se lee: "uno, cero, uno, cero, uno, cero, base dos").Escrbanse los valores de posicin debajo de los dgitos:

    Dgitos binarios 1

    Valores de posicin

    1 OO

    Multiplicando los valores de posicin por los dgitos binarios correspondientes y sumn-dolos todos, se obtiene el equivalente en decimal.

    Errores 3

    A continuacin, tambin empezando por la izquierda, se encierra cada par de valos en otro mayor.

    ~_I _@>@_'_9 Finalmente, se encierra cada par de valos en uno mayor todava, comenzando tambin por la izquierda.

    Ntese que el nmero de marcas dentro de cualquier valo es una potencia de 2.

    El nmero representado por el numeral I I se

    obtiene as

    o tambin

    Hay que observar que en esta suma no aparece 22. Como O X 22 = O, entonces la suma pue-de escribirse as

    Ahora puede formarse un nuevo smbolo para representar esta suma omitiendo los parn-tesis, los signos de operacin + y x, Y las potencias de 2, de la siguiente manera:

    ( 1 X 23 ) + (O X 22 ) + (1 X 2 1 ) + ( 1 X 2 )

    1 1 1 1 Nuevo smbolo: O 1 1

    Ahora bien, cmo interpretaremos este nuevo smbolo? El significado de los nmeros 1 en este nuevo smbolo depende del lugar que ocupan en

    el numeral. As pues , el primero de derecha a izquierda representa una unidad; el segun-do, un grupo de dos (o bien 2 1), el cuarto cuatro grupos de dos (8, o bien 23). El cero es el medio de asignarle a cada "1" su posicin correcta. A los nmeros o potencias de 2 que re-presentan el "1" segn su posicin en el numeral, se les llama valores de posicin; se dice que un sistema de numeracin que emplea valores de posicin es un sistema posicional.

    El sistema de este ejemplo es un sistema de base dos, o sistema binario, porque em-plea un grupo bsico de dos smbolos: O y 1. Los smbolos "1" y "O" utilizados para escri-bir los numerales se denominan dgitos binarios o bits .

    Qu nmero representa el numerallOlOlOdos? (Se lee: "uno, cero, uno, cero, uno, cero, base dos"). Escrbanse los valores de posicin debajo de los dgitos :

    Dgitos binarios 1

    Valores de posicin

    O 1

    Multiplicando los valores de posicin por los dgitos binarios correspondientes y sumn-dolos todos , se obtiene el equivalente en decimal.

  • 4 Mtodos numricos aplicados a la ingeniera

    10101Odos== (1 X 25) + (O X 24) + (1 X 23) + (O X 22) + (1 X 2') + (O X 2)42diez (se lee: "cuatro, dos, base diez").

    El sistema de numeracin ms difundido en la actualidad es el sistema decimal. Es un sis-tema posicional que usa un grupo bsico de diez (base diez).

    Considrese por ejemplo el numeral 582diez

    EjE

    Dgitos decimales

    Valores de posicin

    Forma desarrollada

    8lO'

    (8 X 10') +

    Al escribir nmeros decimales se omite la palabra "diez" y se establece la convencin deque un numeral con valor de posicin, es un nmero decimal, sin necesidad de indicar labase. De ah que siempre se anote 582 en lugar, de 582diez'

    El desarrollo y arraigo del sistema decimal, quiz se deba al hecho de tener siempre ala vista, los diez dedos de las manos. El sistema binario se emplea en las computadoras di-gitales, debido a que los alambres que forman los circuitos electrnicos presentan slo dosestados: magnetizados o no magnetizados, ya sea que pase o no corriente por ellos.

    CONVERSiN DE NMEROS ENTEROS DEL SISTEMA DECIMAL A UNSISTEMA DE BASE b y VICEVERSA

    Para convertir un nmero n del sistema decimal a un sistema con base b, se divide el n-mero n entre la base b y se registra el cociente e, y el residuo rI resultantes; se divide e,entre la base b, y se anotan el nuevo cociente e2 y el nuevo residuo r2. Este procedimien-to se repite hasta oblener un cociente e igual a cero con residuo ri El nmero equivalen-te a n en el sistema con base b queda formado as: ri ri_' ri_2 ... r,.

    Convierta 35810 al sistema octa!.

    Solucin La base del sistema octal" es 8, por tanto

    ~358 == 8 X 44 + 632

    e, r,44 8 X 5 + 4

    e2 r25 8 X O + 5

    As que el nmero equivalente en octal es 546

    El sistema octal usa un grupo bsico de ocho smbolos: 0, 1,2,3,4,5,6,7.

  • sis-

    dela

    eadi-dos

    Errores 5

    Convierta 35810 a binario (base 2).

    Solucin 358 2 x 179 + O

    ~179 2 x 89 + 189 2 x 44 + 144 2 x 22 + O22 2 x 11 + O11 2 x 5 + 15 2 x 2 + 12 2 x 1 + O1 2 x O + 1

    Por tanto 358\0 = 1011001102

    Para convertir un entero m de un sistema con base b al sistema decimal, se multiplica ca-da dgito de m por la base b elevada a una potencia igual a la posicin del dgito, tomandocomo posicin cero la del dgito situado ms a la derecha. De la suma resulta el equiva-lente decimal. As

    2768 = 2 X 82 + 7 X 81 + 6 X 8 = 1901010100012 = 1 X 26 + O X 25 + 1 X 24 + O X 23 + O X 22

    + O X 21 + 1 X 2 = 8110

    CONVERSiN DE NMEROS ENTEROS DEL SISTEMAOCTAL AL BINARIO y VICEVERSA

    Dado un nmero del sistema octal, su equivalente en binario se obtiene sustituyendo ca-da dgito del nmero octal con los tres dgitos equivalentes del sistema binario.

    Base octal Equivalente binario en tres dgitos

    O 000

    1 001

    2 010

    3 011

    4 1005 101

    6 110

    7 111

  • 6 Mtodos numricos aplicados a la ingeniera

    Ejemplo 1.3 Convierta 5468 a binario. EjelT

    Solucin 5101

    4

    100

    6

    110

    As que 5468 = 1011001102

    Dado un nmero en binario, su equivalente en octal se obtiene formando temas de dgitos,contando de derecha a izquierda y sustituyendo cada terna por su equivalente en octal. As

    Convertir 100110012 a octal

    010 011 0012 Por tanto 100110012 = 2318

    2 3 1

    Dado que la conversin de octal a binario es simple y la de decimal a binario resulta muytediosa, se recomienda usar la conversin a octal como paso intermedio al convertir un n-mero decimal a binario.

    I DECIMAL l+-o ----+0 I OCTAL l+-o ----+0 I BINARlO JLas flechas tienen dos sentidos porque es vlido en ambas direcciones lo dicho.

    Ejemplo 1.4 Convierta 1011001102 a decimal.

    Solucin a) Conversin directa

    1011001102 = 1 X 28 + O X 27 + 1 X 26 + 1 X 25 + O X 24 +O X 23 + 1 X 22 + 1 X 2 + O X 20 = 35810

    b) Usando la conversin a octal como paso intermedio:

    1) Conversin a' octal 101

    5

    100

    4

    110

    6

    Por tanto 1011001102 = 5468

    2) Cnversin de octal a decimal

    5468 = 5 X 82 + 4 X 81 + 6 X 80 = 35810

    CONVERSIN DE NMEROS FRACCIONARIOS DEL SISTEMA DECIMALA UN SISTEMA CON BASE b EjPara convertir un nmero xo fraccionario a un nmero con base b, se multiplica dicho n-mero por la base b; el resultado tiene una parte entera el Yuna parte fraccionariaj.. Se mul-tiplica ahora f por b y se obtiene un nuevo producto con parte entera e2 y fraccionaria j..Este procedimiento se repite un nmero suficiente de veces o hasta que se presenta.t = O.Elequivalente de xlO con base b queda as O. e e2 e3 e4 .

    6 Mtodos numricos aplicados a la ingeniera

    Ejemplo 1.3 Convierta 5468 a binario.

    Solucin 5

    101

    As que 5468 = 1011001102

    4

    100

    6

    110

    Dado un nmero en binario, su equivalente en octal se obtiene formando ternas de dgitos, contando de derecha a izquierda y sustituyendo cada terna por su equivalente en octal. As

    Convertir 100110012 a octal

    010 Oll 001 2 Por tanto 100110012 = 231 8

    2 3 1

    Dado que la conversin de octal a binario es simple y la de decimal a binario resulta muy tediosa, se recomienda usar la conversin a octal como paso intermedio al convertir un n-mero decimal a binario.

    I DECIMAL I~----+' I OCTAL I~' ---, I BINARIO J Las flechas tienen dos sentidos porque es vlido en ambas direcciones lo dicho.

    Ejemplo 1.4 Convierta 1011001102 a decimal.

    Solucin a) Conversin directa

    1011001102 = 1 X 28 + O X 27 + 1 X 26 + 1 X 25 + O X 24 +

    O X 23 + 1 X 22 + 1 X 2] + O X 20 = 358'0 b) Usando la conversin a octal como paso intermedio:

    1) Conversin a' octal 101

    5

    100

    4

    Por tanto 1011001102 = 5468

    2) Cnversin de octal a decimal

    110

    6

    5468 = 5 X 82 + 4 X 8] + 6 X 80 = 35810

    CONVERSIN DE NMEROS FRACCIONARIOS DEL SISTEMA DECIMAL

    A UN SISTEMA CON BASE b

    Para convertir un nmero x]O fraccionario a un nmero con base b, se multiplica dicho n-mero por la base b; el resultado tiene una parte entera e] y una parte fraccionaria!]. Se mul-tiplica ahora!] por b y se obtiene un nuevo producto con parte entera e2 y fraccionaria!2' Este procedimiento se repite un nmero suficiente de veces o hasta que se presentaj = O. El equivalente de x lO con base b queda as O. e] e2 e3 e4 ...

  • Errores 7

    Ejemplo 1.5! Convierta 0.210 a octal y binario.

    Solucin a) Conversin a octal

    tos,As

    0.2X 81.6e.f,

    0.8X86.4

    eJ3

    0.2X 81.6

    esfs

    Despus de e4 se van a repetir el el e2 e3 e4 indefinidamente, por lo que 0.210 =0.14631463"'8

    b) Conversin a binario

    uy-

    0.2 0.4 0.8 0.6 0.2X2 X2 X2 X2 X2- -- -- --0.4 0.8 1.6 1.2 0.4

    elJ; e2f2 e3f3 e4f4 esfs

    Igual que en el inciso a), despus de e4 se repite el e2 e3 e4 indefinidamente, por 10 que0.210 = 0.001100110011...2 IObsrvese que 0.210 pudo convertirse en binario simplemente tomando su equivalente enoctal, y sustituyendo cada nmero por su tema equivalente en binario. As

    0.210 = 0.10.001

    463 1100 110 011 001

    463100 110 011

    y

    0.210 = 0.0011001100110011001100110011"'2

    De lo anterior se puede observar que

    358.210 = 101100110.001100110011001100110011"'2

    y cualquier nmero con parte entera y fraccionaria puede pasarse a otro sistema, cambian-do su parte entera y fraccionaria de manera independiente, y al final integrndolos.

    Para convertir nmeros decimales enteros y fraccionario s a base 2,3, ... ,9 puede usarel P~OGRAMA 1.1 del CD.

    632

    CONVERSiN DE UN NMERO FRACCIONARIO EN SISTEMA BINARIOA SISTEMA DECIMAL

    El procedimiento es similar al caso de nmeros enteros, slo hay que tomar en cuenta quela posicin inicia con -1, a partir del punto.

    Convierta 0.0101011102 a decimal

    Solucin 0.010101110 = O X 2-1 + 1 X 2-2 + O X 2-3 + 1 X 2-4+ O X 2-s + 1 X 2-6 + 1 X 2-7 + 1 X 2-8 +0 X 2-9

    = 0.3398437510

  • 8 Mtodos numricos aplicados a la ingeniera

    Convierta 0.0101011102 a decimal.

    Solucin a) Conversin a octal

    0.0102

    1106

    1015

    y

    0.0101011102 = 0.2568

    b) Conversin a decimal

    0.2568 = 2 X 8-1 + 5 X 8-2 + 6 X 8-3 = 0.33984375'0

    1.2 Manejo de nmeros en la computadora

    Por razones prcticas, slo puede manejarse una cantidad finita de bits para cada nmeroen una computadora, y esta cantidad o longitud vara de una mquina a otra. Por ejemplo,cuando se realizan clculos de ingeniera y ciencias, es mejor trabajar con una longitudgrande; por otro lado, una longitud pequea es ms econmica y til para clculos y pro-cesamientos administrativos.

    Para una computadora dada, el nmero de bits generalmente se llama palabra. Las pa-labras van desde ocho bits hasta 64 bits. Para facilitar su manejo, la palabra se divide enpartes ms cortas denominadas bytes; por ejemplo, una palabra de 32 bits puede dividirseen cuatro bytes (ocho bits cada uno).

    dNMEROS ENTEROS

    Cada palabra, cualquiera que sea su longitud, almacena un nmero, aunque en ciertas cir-cunstancias se usan varias palabras para contener un nmero. Por ejemplo, considreseuna palabra de 16 bits para almacenar nmeros enteros. De los 16 bits, el primero repre-senta el signo del nmero; un cero es un signo ms y un uno un signo menos. Los 15 bitsrestantes pueden usarse para guardar nmeros binarios desde 000000000000000 hasta111111111111111 (vase figura 1.1). Al convertir este nmero en decimal se obtiene

    (l X 214) + (l X 213) + (1 X 212) + ... + (1 X 21) + (l X 2)

    que es igual a 32767 (215 -1). Por tanto, cada palabra de 16 bits puede contener un n-mero cualquiera del intervalo -32768 a + 32767 (vase Probo 1.10).

    Figura 1.4Esquema deuna palabra

    de 16 bits paraun nmero

    entero.

    16 bits : Iibit O bit 15

    8 Mtodos numricos aplicados a la ingeniera

    Convierta 0.0101011102 a decimal.

    Solucin a) Conversin a octal

    y

    0.010 2

    101 5

    110 6

    0.0101011102 = 0.2568 b) Conversin a decimal

    0.2568 = 2 X 8-1 + 5 X 8-2 + 6 X 8-3 = 0.33984375 10

    1.2 Manejo de nmeros en la computadora

    Figura 1.4 Esquema de una palabra

    de 1 6 bits para un nmero

    entero.

    Por razones prcticas, slo puede manejarse una cantidad finita de bits para cada nmero en una computadora, y esta cantidad o longitud vara de una mquina a otra. Por ejemplo, cuando se realizan clculos de ingeniera y ciencias, es mejor trabajar con una longitud grande; por otro lado, una longitud pequea es ms econmica y til para clculos y pro-cesamientos administrativos.

    Para una computadora dada, el nmero de bits generalmente se llama palabra. Las pa-labras van desde ocho bits hasta 64 bits. Para facilitar su manejo, la palabra se divide en partes ms cortas denominadas bytes; por ejemplo, una palabra de 32 bits puede dividirse en cuatro bytes (ocho bits cada uno).

    NMEROS ENTEROS

    Cada palabra, cualquiera que sea su longitud, almacena un nmero, aunque en ciertas cir-cunstancias se usan varias palabras para contener un nmero. Por ejemplo, considrese una palabra de 16 bits para almacenar nmeros enteros. De los 16 bits, el primero repre-senta el signo del nmero; un cero es un signo ms y un uno un signo menos. Los 15 bits restantes pueden usarse para guardar nmeros binarios desde 000000000000000 hasta 111111111111111 (vase figura 1.1). Al convertir este nmero en decimal se obtiene

    (l X 2 14 ) + (1 X 2 13 ) + (1 X 212 ) + ... + (l X 21) + (l X 2)

    que es igual a 32767 (215 -1). Por tanto, cada palabra de 16 bits puede contener un n-mero cualquiera del intervalo -32768 a + 32767 (vase Probo 1.10).

    16 bits

    i bit O bit 15

  • eraplo,itudpro-

    pa-e enirse

    cir-esere-bitssta

    n-

    Errores 9

    Ejemplo 1.8 Represente el nmero -26 en una palabra de 16 bits.

    Solucin -2610 = - 110102, Ysu almacenamiento en una palabra de 16 bits quedaria as

    Represente el nmero 5250' en una palabra de 16 bits.

    Solucin 52510 = 10158 = 10000011012, Y su almacenamiento quedaria as

    NMEROS REALES (PUNTO FLOTANTE)

    Cuando se desea almacenar un nmero real, se emplea en su representacin binaria, lla-mada de punto flotante, la notacin

    0.dd2d3d4dsd6d7d8 X l',d'2d'3d'"d',d'6d'7

    donde d = 1 Ydi Y d'j con i = 2, Oo., 8 Yj = 1,2, ... ,7 pueden ser ceros 0 unos, y se guar-da en una palabra como se muestra en la figura 1.2

    Figura 1.5Esquema deuna palabra

    de 16 bits paraun nmero depunto flotante. Bit 15

    Caracterstica Mantisa I-------=--iBit O

    Igual que antes, el bit cero se usa para guardar el signo del nmero. En los bits deluno al siete se almacena el exponente de la base 2 y en los ocho bits restantes la fraccin."Segn el lenguaje de los logaritmos, la fraccin es llamada mantisa y el exponente ca-racterstica. El nmero mayor que puede guardarse en una palabra de 16 bits usando lanotacin de punto flotante es

    O

    1

    Exponentepositivo

    10111111 11111111

    1ms Equivalente a 0.99 en decimal

    El exponente es un nmero binario de seis dgitos, ya que el bit uno se emplea para su signo. En algunas cornpu-tadoras el exponente se almacena en base ocho (octal) o base 16 (hexadecimal) en lugar de base 2.

    Errores 9

    Represente el nmero -26 en una palabra de 16 bits .

    Solucin -26 10 = - 110102, Y su almacenamiento en una palabra de 16 bits quedaria as

    Represente el nmero 525 10, en una palabra de 16 bits.

    Solucin 525 10 = 10158 = 10000011012, Y su almacenamiento quedaria as

    Figura 1.5 Esquema de una palabra

    de 16 bits para un nmero de punto flotante.

    1010

    NMEROS REALES (PUNTO FLOTANTE)

    C:uando se desea almacenar un nmero real, se emplea en su representacin binaria, lla-mada de punto flotante, la notacin

    O.d 1 d2d3d4dsd6d7d8 X 2d' Id' 2 d' 3 d'" d' 5 d' 6 d' 7

    donde dI = 1 Y di Y d ' j con i = 2, ... , 8 Y j = 1,2, ... ,7 pueden ser ceros 0 unos, y se guar-da en una palabra como se muestra en la figura 1.2

    Caracterstica Mantisa

    Bit Bit 15

    Igual que antes, el bit cero se usa para guardar el signo del nmero. En los bits del uno al siete se almacena el exponente de la base 2 y en los ocho bits restantes la fraccin.'" Segn el lenguaje de los logaritmos, la fraccin es llamada mantisa y el exponente ca-racterstica. El nmero mayor que puede guardarse en una palabra de 16 bits usando la notacin de punto flotante es

    1

    ms

    Exponente positivo

    1 0111111 11111111

    1 Equivalente a 0.99 en decimal

    El exponente es un nmero binario de seis dgitos, ya que el bit uno se emplea para su signo. En algunas compu-tadoras el exponente se almacena en base ocho (octal) o base 16 (hexadecimal) en lugar de base 2.

  • 10 Mtodos numricos aplicados a la ingeniera

    y los nmeros que se pueden guardar en punto flotante binario van de alrededor de 2-64 (sila caracterstica es negativa) a cerca de 263; en decimal, de 10-19 a cerca de 1018 en mag-nitud (incluyendo nmeros positivos, negativos y cero).

    Ejemplo 1.10 El nmero decimal-125.32 que en binario es

    -1111101.010100011110101,

    normalizado queda as

    -.1111101010100011110101 X 2+111I I

    Ibits truncados en el almacenamiento

    y la palabra de memoria de 16 bits donde se almacena este valor quedara como

    signo mantisa caracterstica positivaI

    1 1t.

    caracterstica mantisa

    Ntese que primero se normaliza el nmero, despus se almacenan los primeros ochobits y se truncan los restantes.

    El nmero decimal + 0.2, que en binario es

    0.0011001100110011 ...

    y que normalizado queda

    .1100110011001100 ... X 2-10I I

    Ibits truncados

    se almacena as

    DOBLE PRECISiN

    La doble precisin es un esfuerzo para aumentar la exactitud de los clculos adicionandoms bits a la mantisa. Esto se hace al utilizar dos palabras, la primera en la forma expues-ta anteriormente, y los bits de la segunda para aumentar la mantisa de la primera. Enton-ces, con una palabra de 16 bits puede usarse en doble precisin una mantisa de 8 + 16 =24 bits. Los 24 bits de la mantisa permiten expresar alrededor de 7 dgitos de exactitud enun nmero decimal, en lugar de 3 de la precisin sencilla.

    La desventaja del uso de la doble precisin es que se emplean ms palabras, con locual se acrecenta el uso de memoria por un programa.

    10 Mtodos numricos aplicados a la ingeniera

    y los nmeros que se pueden guardar en punto flotante binario van de alrededor de 2-64 (si la caracterstica es negativa) a cerca de 263 ; en decimal, de 10-19 a cerca de 1018 en mag-nitud (incluyendo nmeros positivos, negativos y cero).

    El nmero decimal-125.32 que en binario es

    -1111101.010 1000 11110101,

    normalizado queda as

    -.1111101010100011110101 X 2+1 J 1 I I

    bits truncados en el almacenamiento

    y la palabra de memoria de 16 bits donde se almacena este valor quedara como

    signo mantisa

    1 1

    caracterstica

    caracterstica positiva I

    mantisa

    Ntese que primero se normaliza el nmero, despus se almacenan los primeros ocho bits y se truncan los restantes.

    El nmero decimal + 0.2, que en binario es

    0.0011001100110011 ...

    y que normalizado queda

    .1100110011001100 ... X 2-10 I I

    bits truncados

    se almacena as

    DOBLE PRECISiN

    La doble precisin es un esfuerzo para aumentar la exactitud de los clculos adicionando ms bits a la mantisa. Esto se hace al utilizar dos palabras, la primera en la forma expues-ta anteriormente, y los bits de la segunda para aumentar la mantisa de la primera. Enton-ces, con una palabra de 16 bits puede usarse en doble precisin una mantisa de 8 + 16 = 24 bits. Los 24 bits de la mantisa permiten expresar alrededor de 7 dgitos de exactitud en un nmero decimal, en lugar de 3 de la precisin sencilla.

    La desventaja del uso de la doble precisin es que se emplean ms palabras, con lo cual se acrecenta el uso de memoria por un programa.

  • Errores 11

    si ERROR DE REDONDEOo.,b

    Para finalizar esta seccin, se analizarn brevemente algunas consecuencias de utilizar elsistema binario y una longitud de palabra finita.

    Como no es posible guardar un nmero binario de longitud infinita o un nmero dems dgitos de los que posee la mantisa de la computadora que se est empleando, se al-macena slo un nmero finito de estos dgitos; como consecuencia, se comete automtica-mente un pequeo error, conocido como error de redondeo, que al repetirse muchas vecespuede llegar a ser considerable. Por ejemplo, si se desea guardar la fraccin decimal0.0001 que en binario es la fraccin infinita

    0.000000000000011010001101101110001011101011000 ...

    quedara, despus de normalizarse, almacenado en una palabra de 16 bits como

    .11010001 X 2-1101

    Si se desea sumar el nmero 0.0001 con l mismo diez mil veces, usando una computado-ra, naturalmente que no se esperar obtener 1 como resultado, ya que los nmeros que seadicionen no seran realmente 0.0001 sino valores aproximados a l (vase Probo 1.16).

    t.3 Errores

    ERROR ABSOLUTO, ERROR RELATIVO Y ERROR EN POR CIENTO

    Si p* es una aproximacin a p, el error se define como

    o

    Sin embargo, para facilitar el manejo y el anlisis se emplea el error absoluto defini-do como

    EA = IP* -p I

    y el error relativo como

    Ip* -p IER = ,sip =1= O

    p

    y como por ciento de error a

    ERP = ER X 100

    En otros libros las definiciones pueden ser diferentes; por ejemplo, algunos autoresdefinen el error E como p - p*; por tanto, sugerimos que al consultar las distintas biblio-grafas se busquen las definiciones de error dadas.

    Suponga que el valor para un clculo debera ser

    p = 0.10 X 102 pero se obtuvo el resultado p* = 0.08 X 102, entonces

    Errores 11

    ERROR DE REDONDEO

    Para finalizar esta seccin, se analizarn brevemente algunas consecuencias de utilizar el sistema binario y una longitud de palabra finita.

    Como no es posible guardar un nmero binario de longitud infinita o un nmero de ms dgitos de los que posee la mantisa de la computadora que se est empleando, se al-macena slo un nmero finito de estos dgitos; como consecuencia, se comete automtica-mente un pequeo error, conocido como error de redondeo, que al repetirse muchas veces puede llegar a ser considerable. Por ejemplo, si se desea guardar la fraccin decimal 0.0001 que en binario es la fraccin infinita

    0.000000000000011010001101101110001011101011000 .. .

    quedara, despus de normalizarse, almacenado en una palabra de 16 bits como

    .11010001 X 2- 1101

    Si se desea sumar el nmero 0.0001 con l mismo diez mil veces, usando una computado-ra, naturalmente que no se esperar obtener 1 como resultado, ya que los nmeros que se adicionen no seran realmente 0.0001 sino valores aproximados a l (vase Probo 1.16).

    t.3 Errores

    ERROR ABSOLUTO, ERROR RELATIVO Y ERROR EN POR CIENTO

    Si p* es una aproximacin a p, el error se define como

    IbE = p* - p ] Sin embargo, para facilitar el manejo y el anlisis se emplea el error absoluto defini-

    do como

    1, EA = I p* - P I ~ y el error relativo como

    I p* -p I ER = , sip::j:. O

    P

    y como por ciento de error a

    IEERP = ERX 100 ~ En otros libros las definiciones pueden ser diferentes; por ejemplo, algunos autores

    definen el error E como p - p*; por tanto, sugerimos que al consultar las distintas biblio-grafas se busquen las definiciones de error dadas.

    Suponga que el valor para un clculo debera ser

    p = 0.10 X 102 pero se obtuvo el resultado p* = 0.08 X 102, entonces

  • 12 Mtodos numricos aplicados a la ingeniera

    EA = 10.08 X 102 - 0.10 X 102 1= 0.2 X 101

    10.08 X 102 - 0.10 X 1021ER = ------=--::---,--:c;;------

    0.10 X 102

    ERP = ER X 100 = 20%

    = 0.2 X 10

    Por lo general, interesa el error absoluto y no el error relativo; pero cuando el valorexacto de una cantidad es "muy pequeo" o "muy grande", los errores relativos son mssignificativos.

    Por ejemplo si

    p = 0.24 X 10-4 Y p* = 0.12 X 10-4,entonces:

    EA = 10.12 X 10-4 - 0.24 X 10-41 = 0.12 X 10-4Sin reparar en las cantidades que se comparan, puede pensarse que el error absoluto

    es muy pequeo y, lo ms grave, aceptar p* como una buena aproximacin a p.Si, por otro lado, se calcula el error relativo

    10.12 X 10-4 - 0.24 X 10-41 ER = = 0.5 X 10

    0.24 X 10-4

    se observa que la "aproximacin" es tan slo la mitad del valor verdadero y, por tanto, es-t muy lejos de ser aceptable como aproximacin a p. Finalmente

    ERP= 50%

    De igual manera puede observarse que si

    p = 0.46826564 X 106 y p* = 0.46830000 X 106,entonces:

    EA = 0.3436 X 102,y si de nueva cuenta no se toman en consideracin las cantidades en cuestin, puedecreerse que el EA es muy grande y que se tiene una mala aproximacin a p. Sin embar-go, al calcular el error relativo

    ER = 0.7337715404 X 10-4,se advierte que el error es muy pequeo, como en realidad ocurre.

    ADVERTENCL4.: Cuando se manejan cantidades "muy grandes" o "muy pequeas", el error absolutopuede ser engaoso, mientras que el error relativo es ms significativo en esos casos.

    Ip* -p 1< 5 X 10-1

    P

    DEFINICiN

    Se dice que el nmero p* aproxima a p con t dgitos significativos si t es el entero msgrande no negativo para el cual se cumple

    12 Mtodos numricos aplicados a la ing eniera

    EA = 1 0.08 X 102 - 0.10 X 102 1 = 0.2 X 101

    10.08 X 102 - 0.10 X 102 1 ER = - - --- -..,-,....,,-----::-;:------

    0.10 X 102

    ERP = ER X 100 = 20%

    = 0.2 X 10

    Por lo general, interesa el error absoluto y no el error relativo; pero cuando el valor exacto de una cantidad es "muy pequeo" o "muy grande", los errores relativos son ms significativos.

    Por ejemplo si

    p = 0.24 X 10-4 Y p* = 0.12 X 10-4,

    entonces:

    EA = 10.12 X 10-4 - 0.24 X 10-41 = 0.12 X 10-4

    Sin reparar en las cantidades que se comparan, puede pensarse que el error absoluto es muy pequeo y, lo ms grave, aceptar p* como una buena aproximacin a p.

    Si, por otro lado, se calcula el error relativo

    10.12 X 10-4 - 0.24 X 10-4 1 ER = = 0.5 X 10

    0.24 X 10-4

    se observa que la "aproximacin" es tan slo la mitad del valor verdadero y, por tanto, es-t muy lejos de ser aceptable como aproximacin a p. Finalmente

    ERP= 50%

    De igual manera puede observarse que si

    p = 0.46826564 X 106 y p* = 0.46830000 X 106,

    entonces:

    EA = 0.3436 X 102,

    y si de nueva cuenta no se toman en consideracin las cantidades en cuestin, puede creerse que el EA es muy grande y que se tiene una mala aproximacin a p. Sin embar-go, al calcular el error relativo

    ER = 0.7337715404 X 10-4, se advierte que el error es muy pequeo, como en realidad ocurre.

    ADVERTENCL

  • ors

    to

    e

    Errores 13

    Supngase, por ejemplo, el nmero 10. Para que p* aproxime a 10 con dos cifras sig-nificativas, usando la definicin, p* debe cumplir con

    Ip* - 10 I < 5 X 10-210

    p* -10-5 X 10-2 < < 5 X 10-2

    10

    10 - 5 X 10-1 < p* < 5 X 10-1 + 10

    9.5 < p* < 10.5

    esto es, cualquier valor de p* en el intervalo (9.5, 10.5) cumple la condicin.En general para t dgitos significativos

    IP* -p Ip

    O

    Ip* - p I < 5 p X 10-1P - 5 p X 10-1 < p* < p + 5 p X 10-1

    Si, por ejemplo, p = 1000 Y t = 4

    1000 - 5 X 1000 X 10-4 < p* < 1000 + 5 X 1000 X 10-4

    999.5 < p* < 1000.5

    CAUSAS DE ERRORES GRAVES EN COMPUTACiN

    Existen muchas causas de errores en la ejecucin de un programa de cmputo, de las cua-les se discutirn ahora algunas de las ms serias. Para esto, vamos a pensar en una compu-tadora imaginaria que. trabaja con nmeros en el sistema decimal, en forma tal que tiene unamantisa de cuatro dgitos decimales, y una caracterstica de dos dgitos decimales, el prime-ro de los cuales es usado para el signo. Sumados estos seis al bit empleado para el signo delnmero, se tendr una palabra de siete bits. Los nmeros que se van a guardar deben nor-malizarse primero en la siguiente forma

    3.0 = .3000 X 101

    7956000 = .7956 X 107-0.0000025211 = -.2521 X 10-5

    Empleando esta computadora imaginaria, podemos estudiar algunos de los erroresms serios que se cometen en su empleo.

    a) Suma de nmeros muy distintos en magnitud

    -.Vamos a suponer que se trata de sumar 0.002 a 600 en la computadora decimal imaginaria.

    0.002 = .2000 X 10-2

    600 = .6000 X 103

    Estos nmeros normalizados no pueden sumarse directamente y, por tanto, la compu-tadora debe desnormalizarlos antes de efectuar la suma.

    Errores 13

    Supngase, por ejemplo, el nmero 10. Para que p* aproxime a 10 con dos cifras sig-nificativas, usando la definicin, p * deue cumplir con

    I p* - 10 I < 5 X 10-2 10

    - 5 X 10-2 < p* - 10 < 5 X 10-2 10

    10 - 5 X 10-1 < p* < 5 X 10-1 + 10

    9.5 < p* < 10.5

    esto es, cualquier valor de p* en el intervalo (9.5, 10.5) cumple la condicin. En general para t dgitos significativos

    IP* -p I p

    O

    I p* - p I < 5 p X 10-1

    P - 5 p X 10-1 < p* < p + 5 p X 10-1

    Si, por ejemplo, p = 1000 Y t = 4

    1000 - 5 X 1000 X 10-4 < p * < 1000 + 5 X 1000 X 10-4

    999.5 < p* < 1000.5

    CAUSAS DE ERRORES GRAVES EN COMPUTACiN

    Existen muchas causas de errores en la ejecucin de un programa de cmputo, de las cua-les se discutirn ahora algunas de las ms serias. Para esto, vamos a pensar en una compu-tadora imaginaria que. trabaja con nmeros en el sistema decimal, en forma tal que tiene una mantisa de cuatro dgitos decimales, y una caracterstica de dos dgitos decimales, el prime-ro de los cuales es usado para el signo. Sumados estos seis al bit empleado para el signo del nmero, se tendr una palabra de siete bits. Los nmeros que se van a guardar deben nor-malizarse primero en la siguiente forma

    3.0 = .3000 X 101

    7956000 = .7956 X 107

    -0.0000025211 = - .2521 X 10-5

    Empleando esta computadora imaginaria, podemos estudiar algunos de los errores ms serios que se cometen en su empleo.

    a) Suma de nmeros muy distintos en magnitud

    Vamos a suponer que se trata de sumar 0.002 a 600 en la computadora decimal imaginaria.

    0.002 = .2000 X 10-2

    600 = .6000 X 103

    Estos nmeros normalizados no pueden sumarse directamente y, por tanto, la compu-tadora debe desnormalizarlos antes de efectuar la suma.

  • 14 Mtodos numricos aplicados a la ingeniera

    .000002 X 103+ .600000 X 103

    .600002 X 103

    Como slo puede manejar cuatro dgitos, los ltimos dos son eliminados y la respues-ta es .6000 X 103 o 600. Por el resultado, la suma nunca se realiz.

    Este tipo de errores, cuyo origen es el redondeo, es muy comn y se recomienda, de serposible, no sumar o restar dos nmeros muy diferentes (vase ejercicio 1.2).

    b) Resta de nmeros casi iguales

    Supngase que la computadora decimal va a restar 0.2144 de 0.2145 .

    .2145 X 10- .2144 X 10.0001 X 10

    Como la mantisa de la respuesta est desnormalizada, la computadora automtica-mente la normaliza y el resultado se almacena como .1000 X 10-3.

    Hasta aqu no hay error, pero en la respuesta slo hay un dgito significativo; por tan-to, se sugiere no confiar en su exactitud, ya que un pequeo error en alguno de los nme-ros originales producira un error relativo muy grande en la respuesta de un problema queinvolucrara este error, como se ve a continuacin.

    Supngase que la siguiente expresin aritmtica es parte de un programa

    x = (A -B) * eConsidrese ahora que los valores de A, B Ye son

    A = 0.2145 X 10, B = 0.2144 X 10, e = 0.1000 X 105Al efectuarse la operacin se obtiene el valor de X = 1, que es correcto. Sin embar-

    go, supngase que A fue calculada en el programa con un valor de 0.2146 X 10 (errorabsoluto 0.0001, error relativo 0.00046 y ERP = 0.046%). Usando este valor de A en elclculo de X, se obtiene como respuesta X = 2. Un error de 0.046% de pronto provoca unerror de 100%. Aun ms, este error puede pasar desapercibido.

    e) Overflow y Underflow

    Con frecuencia una operacin aritmtica con dos nmeros vlidos da como resultado unnmero tan grande o tan pequeo que la computadora no puede manejarlo; como conse-cuencia se produce un overflow o un underflow, respectivamente.

    Por ejemplo, al multiplicar 0.5000 X 108 por 0.2000 X 109 se tiene

    0.5000 X 108X 0.2000 X 109

    0.1000 X 1017

    Cada uno de los nmeros que se multiplican puede guardarse en la palabra de la compu-tadora imaginaria; sin embargo, su producto es muy grande y no puede almacenarseporque la caracterstica requiere tres dgitos. Entonces se dice que ha llevado a cabo unoverflow.

    Otro caso de overflow puede ocurrir en la divisin; por ejemplo

    20000000.000005

    0.2000 X 107 = 0.4000 X 10120.5000 X 10-5

    14 Mtodos numricos aplicados a la ingeniera

    .000002 X 103

    + .600000 X 103

    .600002 X 103

    Como slo puede manejar cuatro dgitos, los ltimos dos son eliminados y la respues-ta es .6000 X 103 o 600. Por el resultado, la suma nunca se realiz.

    Este tipo de errores, cuyo origen es el redondeo, es muy comn y se recomienda, de ser posible, no sumar o restar dos nmeros muy diferentes (vase ejercicio 1.2).

    b) Resta de nmeros casi iguales

    Supngase que la computadora decimal va a restar 0.2144 de 0.2145 .

    . 2145 X 10 - .2144 X 10

    .0001 X 10

    Como la mantisa de la respuesta est desnormalizada, la computadora automtica-mente la normaliza y el resultado se almacena como .1000 X 10-3.

    Hasta aqu no hay error, pero en la respuesta slo hay un dgito significativo; por tan-to, se sugiere no confiar en su exactitud, ya que un pequeo error en alguno de los nme-ros originales producira un error relativo muy grande en la respuesta de un problema que involucrara este error, como se ve a continuacin.

    Supngase que la siguiente expresin aritmtica es parte de un programa

    x = (A -B) * e Considrese ahora que los valores de A, B Y e son

    A = 0.2145 X 10, B = 0.2144 X 10, e = 0.1000 X 105

    Al efectuarse la operacin se obtiene el valor de X = 1, que es correcto. Sin embar-go, supngase que A fue calculada en el programa con un valor de 0.2146 X 10 (error absoluto 0.0001, error relativo 0.00046 y ERP = 0.046%). Usando este valor de A en el clculo de X, se obtiene como respuesta X = 2. Un error de 0.046% de pronto provoca un error de 100%. Aun ms, este error puede pasar desapercibido.

    e) Overflow y Underflow

    Con frecuencia una operacin aritmtica con dos nmeros vlidos da como resultado un nmero tan grande o tan pequeo que la computadora no puede manejarlo; como conse-cuencia se produce un overflow o un underflow, respectivamente.

    Por ejemplo, al multiplicar 0.5000 X 108 por 0.2000 X 109 se tiene

    0.5000 X 108

    X 0.2000 X 109

    0.1000 X 1017

    Cada uno de los nmeros que se multiplican puede guardarse en la palabra de la compu-tadora imaginaria; sin embargo, su producto es muy grande y no puede almacenarse porque la caracterstica requiere tres dgitos. Entonces se dice que ha llevado a cabo un overflow.

    Otro caso de overflow puede ocurrir en la divisin; por ejemplo

    2000000

    0.000005 0.2000 X 10

    7 = 0.4000 X 1012 0.5000 X 10-5

  • s-

    e

    Errores 15

    Las computadoras por lo general reportan esta circunstancia con un mensaje que va-ra dependiendo de cada mquina.

    El underflow puede aparecer en la multiplicacin o divisin, y por lo general no es tanserio como el overflow; las computadoras casi nunca envan mensaje de underflow. Porejemplo:

    ( 0.3000 X 10-5 ) X ( 0.02000 X 10-3) = 0.006 X 10-8 = 0.6000 X 10-10Como el exponente -10 est excedido en un dgito, no puede guardarse en la compu-

    tadora y este resultado se expresa como valor cero. Este error expresado como error rela-tivo es muy pequeo y a menudo no es serio. No obstante, puede ocurrir, por ejemplo:

    A = 0.3000 X 10-5, B = 0.0200 X 10-3, C = 0.4000 X 107,

    y que se desee en algn punto del programa calcular el producto de A, B YC

    X=A*B*C

    Se multiplican primero A y B. El resultado parcial es cero. La multiplicacin de esteresultado por C da tambin cero. Si, en cambio, se arregla la expresin como

    X=A* C*B

    se multiplica A por C y se obtiene 0.1200 X 102. La multiplicacin siguiente da la respues-ta correcta: 0.2400 X 10-3. De igual manera, un arreglo en una divisn puede evitar un-derflow.

    d) Divisin entre un nmero muy pequeo

    Como se dijo, la divisin entre un nmero muy pequeo puede causar overflow.Supngase que se realiza en la computadora una divisin vlida y que no se comete

    error alguno en la operacin; pero considrese que ocurri un pequeo error de redondeopreviamente en el programa, cuando se calcul el denominador. Si el numerador es grandey el denominador pequeo, puede presentarse un error absoluto considerable en el cocien-te. Si ste se resta despus, de otro nmero del mismo tamao relativo, puede presentarseun error mayor en la respuesta final.

    Como ejemplo considrese la siguiente instruccin en un programa

    X=A -B/C

    donde:

    A = 0.1120 X 109 = 112000000

    B = 0.1000 X 106 = 100000C = 0.900 X 10-3 = 0.0009

    /I

    Si el clculo se realiza en la computadora decimal de cuatro dgitos, el cociente B / Ces 0.1111 X 109, YX es 0.0009 X 109 o, despus de ser normalizado, X = 0.9000 X 106.Ntese que slo hay un dgito significativo.

    Vamos a imaginar ahora que se cometi un pequeo error de redondeo al calcular Cen algn paso previo y result un valor C* = 0.9001 X 10-3 (EA = 0.0001 X 10-3; ER =10-4 YERP = 0.01 %).

    Si se calcula B / C* se obtiene como cociente 0.111 O X 109 YX* = 0.1000 X 107. Elvalor correcto de X es 0.9000 X 106.

    ./ I

    Errores 15

    Las computadoras por lo general reportan esta circunstancia con un mensaje que va-ra dependiendo de cada mquina.

    El underflow puede aparecer en la multiplicacin o divisin, y por lo general no es tan serio como el overflow; las computadoras casi nunca envan mensaje de underflow. Por ejemplo:

    ( 0.3000 X 10-5 ) X ( 0.02000 X 10-3 ) = 0.006 X 10-8 = 0.6000 X 10-10

    Como el exponente -10 est excedido en un dgito, no puede guardarse en la compu-tadora y este resultado se expresa como valor cero. Este error expresado como error rela-tivo es muy pequeo y a menudo no es serio. No obstante, puede ocurrir, por ejemplo:

    A = 0.3000 X 10-5, B = 0.0200 X 10-3, C = 0.4000 X 107,

    y que se desee en algn punto del programa calcular el producto de A, B Y C

    X=A*B*C

    Se multiplican primero A y B. El resultado parcial es cero. La multiplicacin de este resultado por C da tambin cero. Si, en cambio, se arregla la expresin como

    X=A * C*B

    se multiplica A por C y se obtiene 0.1200 X 102. La multiplicacin siguiente da la respues-ta correcta: 0.2400 X 10-3. De igual manera, un arreglo en una divisn puede evitar un-derflow.

    d) Divisin entre un nmero muy pequeo

    Como se dijo, la divisin entre un nmero muy pequeo puede causar overflow. Supngase que se realiza en la computadora una divisin vlida y que no se comete

    error alguno en la operacin; pero considrese que ocurri un pequeo error de redondeo previamente en el programa, cuando se calcul el denominador. Si el numerador es grande y el denominador pequeo, puede presentarse un error absoluto considerable en el cocien-te. Si ste se resta despus, de otro nmero del mismo tamao relativo, puede presentarse un error mayor en la respuesta final.

    Como ejemplo considrese la siguiente instruccin en un programa

    donde:

    X = A -B/C

    A = 0.1120 X 109 = 112000000

    B = 0.1000 X 106 = 100000

    C = 0.900 X 10-3 = 0.0009

    Si el clculo se realiza en la computadora decimal de cuatro dgitos, el cociente B / C es 0.1111 X 109, Y X es 0.0009 X 109 o, despus de ser normalizado, X = 0.9000 X 106. Ntese que slo hay un dgito significativo .

    Vamos a imaginar ahora que se cometi un pequeo error de redondeo al calcular C en algn paso previo y result un valor C* = 0.9001 X 10-3 (EA = 0.0001 X 10-3; ER = 10-4 Y ERP = 0.01 %).

    Si se calcula B / C* se obtiene como cociente 0.111 O X 109 Y X* = 0.1000 X 107. El valor correcto de X es 0.9000 X 106.

  • 16 Mtodos numricos aplicados a la ingeniera

    Entonces:EA = I 1000000 - 900000 I = 100000

    ER = 11000000 - 900000 I = 0.11900000

    ERP = 0.11 X 100 = 11%El error relativo se ha multiplicado cerca de 1100 veces. Como ya se dijo, estos clcu-

    los pueden conducir a un resultado final carente de significado o sin relacin con la res-puesta verdadera.

    e) Error de discretizacin

    Dado que un nmero especfico no se puede almacenar exactamente como nmero bina-rio de punto flotante, el error generado se conoce como error de discretizacin (error decuantificacin), ya que los nmeros expresados exactamente por la mquina (nmeros m-quina) no forman un conjunto continuo sino discreto.

    Ejemplo 1.12 Cuando se suma 10000 veces 0.0001 con l mismo, debe resultar 1; sin embargo, el n-mero 0.0001 en binario resulta en una sucesin infinita de ceros y unos, que se trunca alser almacenada en una palabra de memoria, con lo que se perder informacin y el re-sultado de la suma ya no ser 1. Se obtuvieron los siguientes resultados que corroboran10 anterior, utilizando una PC, precisin sencilla y Visual Basic.

    Solucin10000

    a) L 0.0001 = 1.000054i= 1

    10000

    b) 1 + L 0.0001 = 2.000166i= 1

    10000

    e) 1000 + L 0.0001 = 1001.221i= 1

    10000

    d) 10000 + L 0.0001 = 10000i= 1

    Ntese que en los tres ltimos incisos, adems del error de discretizacin, se generel error de sumar un nmero muy grande con un nmero muy pequeo (vase Probo 1.16y 1.17). El programa se ejecut iniciando primero a una variable con el valor entero O, 1,1000 Y 10000; despus se fue acumulando a esa variable 0.0001 diez mil veces.

    f) Errores de salida

    Aun cuando no se haya cometido error alguno durante la fase de clculos de un programa,puede presentarse un error al imprimir resultados.

    Por ejemplo, supngase que la respuesta de un clculo particular es exactamente0.015625. Cuando este nmero se imprime con un formato tal como FlO.6 o E14.6 (de FOR-TRAN), se obtiene la respuesta correcta. Si, por el contrario, se decide usar F8.3, se impri-

    16 Mtodos numricos aplicados a la ingeniera

    Entonces: EA = I 1000000 - 900000 I = 100000

    ER = I 1000000 - 900000 I = 0.11 900000

    ERP = 0.11 X 100 = 11%

    El error relativo se ha multiplicado cerca de 1100 veces. Como ya se dijo, estos clcu-los pueden conducir a un resultado final carente de significado o sin relacin con la res-puesta verdadera.

    e) Error de discretizacin

    Dado que un nmero especfico no se puede almacenar exactamente como nmero bina-rio de punto flotante, el error generado se conoce como error de discretizacin (error de cuantificacin), ya que los nmeros expresados exactamente por la mquina (nmeros m-quina) no forman un conjunto continuo sino discreto.

    Ejemplo 1.12 Cuando se suma 10000 veces 0.0001 con l mismo, debe resultar 1; sin embargo, el n-mero 0.0001 en binario resulta en una sucesin infinita de ceros y unos, que se trunca al ser almacenada en una palabra de memoria, con lo que se perder informacin y el re-sultado de la suma ya no ser 1. Se obtuvieron los siguientes resultados que COIToboran lo anterior, utilizando una PC, precisin sencilla y Visual Basic.

    Solucin 10000

    a) L 0.0001 = 1.000054 i= I

    10000

    b) 1 + L 0.0001 = 2.000166 i= I

    10000

    e) 1000 + L 0.0001 = 1001.221 i= I

    10000

    d) 10000 + L 0.0001 = 10000 i= I

    Ntese que en los tres ltimos incisos, adems del error de discretizacin, se gener el error de sumar un nmero muy grande con un nmero muy pequeo (vase Probo l.16 y 1.l7). El programa se ejecut iniciando primero a una variable con el valor entero 0,1, 1000 Y 10000; despus se fue acumulando a esa variable 0.0001 diez mil veces.

    f) Errores de salida

    Aun cuando no se haya cometido error alguno durante la fase de clculos de un programa, puede presentarse un error al imprimir resultados.

    Por ejemplo, supngase que la respuesta de un clculo particular es exactamente 0.015625. Cuando este nmero se imprime con un formato tal como FlO.6 o E14.6 (de FOR-TRAN), se obtiene la respuesta correcta. Si, por el contrario, se decide usar F8.3, se impri-

  • u-s-

    Error-es 17

    mir el nmero 0.016 (si la computadora redondea), o bien 0.015 (si la computadora trunca),con lo cual se presenta un elTOr.

    PROPAGACiN DE ERRORES

    Una vez que se sabe cmo se producen los errores en un programa de cmputo, podrapensarse en tratar de determinar el error cometido en cada paso, y conocer de esa manerael error total en la respuesta final. Sin embargo, esto no es prctico. Resulta ms adecua-do analizar las operaciones individuales realizadas por la computadora para ver cmo sepropagan los errores de dichas operaciones.

    a) Suma

    Se espera que al sumar a y b, se obtenga el valor correcto de e = a + b; no obstante, se tie-ne en general un valor de e incorrecto debido a la longitud finita de palabra que se emplea.Puede considerarse que este error fue causado por una operacin incorrecta de la compu-tadora -+- (el punto indica que es suma con error). Entonces el error es:

    Error = (a -+-b) - (a + b)La magnitud de este error depende de las magnitudes relativas, de los signos de a y b,

    Yde la forma binaria en que a y b son almacenados en la computadora. Esto ltimo varadependiendo de la computadora, y por tanto es un error muy difcil de analizar y no lo es-tudiaremos aqu.

    Si por otro lado a y b de entrada son inexactos, hay un segundo error posible. Porejemplo, considrese que en lugar del valor verdadero de a, la computadora tiene el valora", el cual presenta un error Ea

    a* = a + Ea

    y de igual forma para b

    Como consecuencia se tendra, aun si no se cometiera error en la adicin, un error enel resultado:

    Error = (a* + b*) - (a + b)

    = (a + Ea + b + Eb) - (a + b) = Ea + Eb = Eco sea c* = e + Ec

    El error absoluto es:

    I ( a* + b* ) - ( a + b ) I = I Ea + Eb I ::; I Ea I + I Eb I

    o bien

    Se dice que los errores Ea y Eb se han extendido a e, y Ec se conoce como el errorde propagacin.

    Dicho error es causado por valores inexactos de los valores iniciales y se propaga enlos cmputos siguientes, con lo cual causa un error en el resultado final.

    Errores 17

    mir el nmero 0.016 (si la computadora redondea) , o bien 0.015 (si la computadora tmnca), con lo cual se presenta un elTOr.

    PROPAGACiN DE ERRORES

    Una vez que se sabe cmo se producen los errores en un programa de cmputo, podra pensarse en tratar de determinar el error cometido en cada paso, y conocer de esa manera el error total en la respuesta final. Sin embargo, esto no es prctico. Resulta ms adecua-do analizar las operaciones individuales realizadas por la computadora para ver cmo se propagan los errores de dichas operaciones.

    a) Suma

    Se espera que al sumar a y b, se obtenga el valor correcto de e = a + b; no obstante, se tie-ne en general un valor de e incorrecto debido a la longitud finita de palabra que se emplea. Puede considerarse que este error fue causado por una operacin incorrecta de la compu-tadora .. (el punto indica que es suma con error). Entonces el error es:

    Error = Ca .. b) - Ca + b)

    La magnitud de este error depende de las magnitudes relativas, de los signos de a y b, Y de la forma binaria en que a y b son almacenados en la computadora. Esto ltimo vara dependiendo de la computadora, y por tanto es un error muy difcil de analizar y no lo es-tudiaremos aqu.

    Si por otro lado a y b de entrada son inexactos, hay un segundo error posible. Por ejemplo, considrese que en lugar del valor verdadero de a, la computadora tiene el valor a*, el cual presenta un error E a

    a* = a + Ea

    y de igual forma para b

    Como consecuencia se tendra, aun si no se cometiera error en la adicin, un error en el resultado:

    Error = (a* + b*) - (a + b)

    = (a + E a + b + E b ) - (a + b) = Ea + Eb = E c

    o sea c* = e + E c

    El error absoluto es:

    I ( a* + b* ) - C a + b ) I = I E a + Eb I ~ I Ea I + I E b I

    o bien

    Se dice que los errores E a y Eb se han extendido a e, y E c se conoce como el error de propagacin.

    Dicho error es causado por valores inexactos de los valores iniciales y se propaga en los cmputos siguientes, con lo cual causa un error en el resultado final.

  • 18 Mtodos numricos aplicados a la ingeniera

    b) Resta

    El error de propagacin ocasionado por valores inexactos iniciales a* y b", puede darse demanera similar que en la adicin, con un simple cambio de signo (vase Probo 1.24).