Você está na página 1de 734
Meétodos Numeéricos con MATLAB Tercera edicion John H. Mathews California State University, Fullerton Kurtis D. Fink Northwest Missouri State University Traduccién Pedro José Patil Escolano Universidad de Sevilla Revisién técnica Antonio Fernandez Carrion Manuel Contreras Marquez Universidad de Sevilla PRENTICE HALL Madrid * México © Santafé de Bogota * Buenos Aires ¢ Caracas * Lima Montevideo * San Juan * San José © Santiago ¢ Sao Paulo * White Plains ‘Datos de catalogacién bibliografical JOHN H. MATHEWS, KURTIS D. FINK Métodos Numéricos con MATLAB PRENTICE HALL, Madrid, 2000 Formato 170 x 240 Paginas: 736 JOHN H. MATHEWS, KURTIS D. FINK Métodos Numéricos con MATLAB No esta permitida la reproduccidn total o parcial de esta obra ni su tratamiento o transmisién por cualquier medio 0 método: sin autorizacién escrita de la Editorial. DERECHOS RESERVADOS © 2000 respecto a la primera edicién en espafiol por: PRENTICE HALL Iberia SRL. C/ Nuiez de Balboa, 120 28006 Madrid ISBN: 84-8322-181-0 Deposito Legal: M- 40.040-1999 Traducido de: Numerical Methods using MATLAB Copyright© 1999 by Prentice Hall, Inc ISBN: 0-13-270042-5, Edicién en espanol Editora: Isabel Capella Editor de produccién: Pedro Aguado Disefto de cubierta: DIGRAF, S. A. Impreso por: IMPRESO EN ESPANA - PRINTED IN SPAIN Este libro ha sido impreso con papel y tintas ecologicos Indice Li 1.2 1.3 21 2.2 2.3 24 2.5 3.1 3.2 3.3 3.4 Prélogo vii Preliminares 1 Un repaso al calculo infinitesimal 2 Numeros binarios M4 Analisis del error 26 Resolucién de ecuaciones no lineales 45 Métodos iterativos para resolver x = g(x) 46 Los métodos de localizacién de raices. 57 Aproximacién inicial y criterios de convergencia. 69 Los métodos de Newton-Raphson y de la secante 77 Los métodos de Aitken, Steffensen y Muller (opcional) 99 Resolucié6n de sistemas lineales 111 Vectores y matrices 11 Multiplicacién de matrices 120 Sistemas lineales triangulares 132 Eliminacién gaussiana y pivoteo 137 iypice 3.5 3.6 3.7 41 4.2 4.3 44 45 4.6 ot ot Robe 6.1 6.2 71 7.2 7.3 74 7.5 8.1 Factorizacidn triangular 155 Métodos iterativos para sistemas lineales 171 Métodos iterativos para sistemas no lineales (opcional) 183 Interpolacién y aproximaci6n polinomial 203 Series de Taylor y célculo de los valores de una funcién 205 Introduccién a la interpolacién 216 Interpolacién de Lagrange 225 Polinomio interpolador de Newton 239 Polinomios de Chebyshev (opcional) 250 Aproximaciones de Padé 263 Ajuste de curvas 273 Rectas de regresién en minimos cuadrados 274 Ajuste de curvas 285 Interpolacién polinomial a trozos 302 Series de Fourier y polinomios trigonométricos 322 Derivacién numérica 335 Aproximaciones ala derivada 336 Formulas de derivacion numérica 355 Integracién numérica 371 Introduccién a la integracién numérica S72 Las reglas compuestas del trapecio y de Simpson 384 Reglas recursivas y método de Romberg 399 Integracion adaptativa 415 El método de integracién de Gauss-Legendre (opcional) 423 Optimizacién numérica 433 Minimizacién de una funcién 434 inpIce 9 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10 10.1 10.2 10.3 11 11.1 11.2 11.3 11.4 v Ecuaciones diferenciales ordinarias 463 Introduccién a las ecuaciones diferenciales 464 El método de Euler 470 El método de Heun 482 El método de la serie de Taylor 490 Los métodos de Runge-Kutta 497 Métodos de prediccién y correccién 515 Sistemas de ecuaciones diferenciales 529 Problemas de contorno 539 E) método de las diferencias finitas 548 Ecuaciones en derivadas parciales 557 Ecuaciones hiperbélicas 560 Ecuaciones parabdlicas 570 Ecuaciones elipticas 582 Autovalores y autovectores 601 El problema de los autovalores 602 Los métodos de las potencias 615 El método de Jacobi 629 Autovalores de matrices simétricas 643 Apéndice: MATLAB 661 Referencias tematicas 671 Bibliografia y referencias 675 Solucionesde algunos ejercicios 687 Indice analitico 713 Proélogo Este libro proporciona una introduccién a los fundamentos del andlisis numé- rico adecuada para estudiantes de matematicas, informatica, fisica e ingenierfa. Se supone que la persona que lee este libro esta familiarizada con el cdlculo infini- tesimal y que ha recibido un curso de programacién estructurada. El contenido del texto esta organizado de forma modular para, que pueda ser ajustado tanto a un curso cuatrimestral como a uno anual. En pocas palabras, el libro contiene material suficiente para que se puedan seleccionar los temas adecuados a. las necesidades y los objetivos docentes de cada curso concreto. Los métodos numéricos son muy ttiles e interesantes para estudiantes de diversa procedencia, hecho que tenemos presente a lo largo de todo el libro. Asi, hay una amplia variedad de ejemplos y problemas que ayudaran a mejorar las habilidades de los estudiantes tanto en el conocimiento de la teoria como en la practica del andlisis numérico. Los calculos hechos con un computador se presentan mediante tablas y, cuando sea posible, también mediante gréficas, de manera que sea fécil visualizar e interpretar las aproximaciones numéricas obtenidas. Los programas hechos con el paquete MATLAB son nuestro vehiculo de presentacién de los algoritmos numéricos subyacent: Hemos puesto énfasis en la explicacién de por qué los métodos numéricos funcionan y de cudles son sus limitaciones. Esto constituye un reto que conlleva la necesidad de mantener un equilibrio entre la teoria, el andlisis del error y la legilibilidad. Presentamos, para cada método, un anidlisis del error que resulte apropiado para el método en cuestién, pero que, al mismo tiempo, no resulte oscuro para el lector. Damos una deduccién matematica de aquellos métodos viii PROLoGO que utilizan resultados elementales que debe servir para afianzar la comprensién que cada estudiante tiene de las matematicas estudiadas hasta el momento. Las tareas de computacién con el paquete MATLAB sirven para que los estudiantes tengan la oportunidad de practicar sus habilidades en la computacién cientifica. Los ejercicios numéricos mas cortos pueden realizarse con una calculadora de bolsillo y los mas largos pueden llevarse a cabo usando los programas del paquete MATLAB. Queda para el profesorado la labor de usar pedagégicamente los cdlculos numéricos para guiar a los estudiantes. Cada cual puede establecer las tareas que sean més apropiadas de acuerdo con los recursos de computacién existentes en su centro, pero, en cualquier caso, animamos a los estudiantes a que experimenten con los programas del paquete MATLAB. Estas herramientas pueden ser empleadas para ayudar a los estudiantes a realizar la componente numérica de los ejercicios que deban resolver en el laboratorio. Esta tercera edicién nace de la necesidad de corregir y actualizar los con- tenidos de la anterior; por ejemplo, hemos aiiadido el método QR al capitulo sobre autovalores y autovectores. Un aspecto nuevo de esta edicién es el uso explicito del paquete de programas MATLAB: incluimos un apéndice que con- tiene una introduccién a la sintaxis del paquete MATLAB y hemos afiadido ejemplos elaborados con esta herramienta a lo largo del libro, asi como progra- mas completos en cada seccién. Existe un disquete que puede solicitarse a la editorial. Nuestra actitud previa era que cualquier lenguaje de programacién que los estudiantes supieran utilizar podria resultar adecuado. Sin embargo, teniendo en cuenta que muchos de los estudiantes que se matriculan en este curso no han aprendido todavia ningiin lenguaje de programacién (salvo los de informatica), que el paquete MATLAB se ha convertido en una herramienta para casi todos los campos de la ingenieria y de la matematica aplicada y que sus versiones muevas han mejorado los aspectos de programacién, hemos pensado que los estudiantes emplearén su tiempo de manera mas facil y productiva con esta version de nuestro libro basada en el paquete MATLAB. Agradecimientos Nos gustaria expresar nuestra gratitud a todas las personas que han contribuido con su esfuerzo a las diversas ediciones de este libro. Yo (John Mathews) quiero agradecer, en primer lugar, a mis estudiantes de la California State University en Fullerton; a mis colegas Stephen Goode, Mathew Koshy, Edward Sabotka, Harris Schultz y Soo Tang Tan por su ayuda en la primera edicién y, ademas, a Russell Egbert, William Gearhart, Roneld Miller y Greg Pierce por sus suge- rencias para la segunda edicién. Le agradezco también a James Friel, Director del Departamento de Matematicas de la CSUF, el dnimo recibido. Criticos que hicieron recomendaciones muy ttiles para la segunda edicién fueron Walter M. Patterson III (Lander College), George B. Miller (Central Connecticut State University), Peter J. Gingo (The University of Akron), Mi- PROLOGO ix chael A. Freedman (The University of Alaska, Fairbanks) y Kenneth P. Bube (University of California, Los Angeles). Por sus recomendaciones para la se- gunda edicién, estamos agradecidos a: Richard Bumby (Rutgers University), Robert L. Curry (U.S. Army); Bruce Edwards (University of Florida) y David R. Hill (Temple University). En esta tercera edicién queremos agradecer sus sugerencias a Tim Sauer, George Mason University; Gerald M. Pitstick, University of Oklahoma; Victor De Brunner, University of Oklahoma; George Trapp, West Virginia University; Tad Jarik, University of Alabama, Huntsville; Jeffrey S. Scroggs, North Carolina State University; Kurt Georg, Colorado State University, y James N. Craddock, Southern Illinois University at Carbondale. Cualesquiera sugerencias de mejoras 0 posibles adiciones a este libro son bienvenidas; para ello puede ponerse en contacto directamente con los autores. John H. Mathews Kurtis D. Fink Mathematics Department Department of Mathematics California State University Northwest Missouri State University Fullerton, CA 92634 Maryville, MO 64468 mathews@fullerton.edu kfink@mail.nwmissouri.edu Notas del Traductor Sobre las traducciones de textos de matematicas no cuelga la espada de Damo- cles del dicho “traductor, traidor”; en buena parte porque el fondo del asunto, las matematicas, son un lenguaje universal por si mismas. Eso no quiere decir que no existan dificultades con algunos términos y expresiones. Particular- mente, como lector me hubiera gustado en ocasiones saber qué ha movido a un traductor a elegir una, y no otra, palabra castellana para traducir lo que en inglés tiene ya un vocablo cominmente aceptado. Cuando me han surgido dudas en la presente traduccién, me he atenido al “Vocabulario Cientifico y Técnico” de la Real Academia de Ciencias Exactas, Fisicas y Naturales, publi- cado por Espasa-Calpe (Madrid, 1996); en particular, he empleado la palabra “cercha” como traduccién del vocablo inglés “spline”. Con objeto de que la lectura del texto resulte mds fluida, he mantenido ciertos abusos de notacién y lenguaje que ya se hacen en la edicién inglesa original. Asi, por ejemplo, escribiremos “la funcién f(x) = cos(z)” y no “la funcién f : R > R definida por f(x) = cos(x)”, o bien “el area limitada por la funcién f(x) para a < x 0, existe 6 > 0 tal que | f(z) - L| < ¢ siempre que x € Sy 0 < |x —2o| < 6. Cuando usamos notacién incremental 2 = x9 + h, la relacién (1) se escribe (2) link, f(0o + h) = L. a SEC. 1.1 UN REPASO AL CALCULO INFINITESIMAL 3 Definicién 1.2. Supongamos que f(z) estd definida en un conjunto 5 de mtimeros reales y sea xo € 5. Se dice que f es continua en x = ao si (3) jim, f(z) = Flee). Se dice que f es continua en S si es continua en cada punto x € S$. Denotaremos por C(S) el conjunto de todas las funciones f que son continuas en $. Cuando S sea un intervalo, digamos (a, 6], entonces usaremos la notacién C{a, 6] a Definicién 1.3. Sea {zr}, una sucesién de ntimeros reales. Se dice que la sucesién tiene limite L, lo que se escribe (4) lim tp = n-00 si, dado cualquier ¢ > 0, existe un ntimero natural N = N(e) tal que sin > N entonces |¢n — L| <¢. a Cuando una sucesién tiene limite, se dice que es una sucesién conver- gente. Otra notacién habitualmente utilizada es “rz, + L cuando n + 0”. La igualdad (4) es equivalente a (5) slim (en — 2) =0, asi que podemos interpretar la sucesién {¢ = {a, — L}%, como una sucesién de errores. El siguiente teorema relaciona los conceptos de con- tinuidad y sucesién convergente. Teorema 1.1. Supongamos que f(x) esta definida en el conjunto S' y que ao € S. Entonces las siguientes afirmaciones son equivalentes: (a) La funcién f es continua en xo. ©). ¢ b) Si {ap }22, C Sy lim 2p = 29, entonces lim f (2p) = f(x0)- ae Teorema 1.2 (Teorema del valor intermedio o de Bolzano). Suponga- mos que f € C[a,6] y que L es cualquier niimero entre f(a) y f(b). Entonces existe un ntimero c en (a,6) tal que f(c) = L. Ejemplo 1.1. La funcién f(z) = cos(z — 1) es continua en [0, 1] y la constante L = 08 € (f(0), f(1)). La solucién de f(x) = 0.8 en [0,1] es ¢) = 3598, De manera similar, f(z) es continua en [1,2.5] y L = 0.8 est entre f(1) y f(2.5). La solucién de f(x) = 0.8 en [1,2.5] es cz = 1.643502. Estos dos casos se muestran en Ja Figura 1.2. . 4 Cap. 1 PRELIMINARES C05 10 LSe, 20 2.5 Figura 1.2 El teorema del valor intermedio aplicado a la funcidn f(x) = cos(x ~ 1) en (0, 1] yen [1,2.5]. Teorema 1.3 (Teorema de los valores extremos para una funcién con- tinua 0 de Weierstrass). Supongamos que f € C[a,b]. Entonces existen una cota inferior My, una cota superior Mz y dos mimeros 2,2 € [a, 6] tales que (7) My = fle) $ Fle) < f(e2)= Ma para cada x € [a,b]. ‘A veces se expresa esto mismo escribiendo (8) Mi = f(a1) = mima 0 para todo x € [a,b]. Entonces existe un ntimero ¢ en (a,b) tal que b be a) [ feoua)ae= so [ aayae, Ejemplo 1.6. Las funciones f(z) = sen(x) y g(x) = 2? verifican las hipétesis del Teorema 1.11 en el intervalo [0,7/2]. En consecuencia, existe un mimero c tal que Je? 2? sen(x) dx _ 1.14159 [Pde © 1.29193 sen(c) = = 0.883631 con lo que ¢ = sen™} (0.883631) = 1.08356. . Series n= serie de término general a,,. La suma parcial n-ésima de la serie se define como Definicién 1.5. Dada una sucesién {ay}, denotaremos por 7%, an la Sn = Sch_, ag y se dice que la serie converge si la sucesién {S,}22, converge aun limite $ Hamado suma de la serie, 0 sea, Gee sig, So = ig, oan = 8 Si una serie no converge, entonces se dice que diverge. a Sec. 1.1 UN REPASO AL CALCULO INFINITESIMAL 9 Ejemplo 1.7. Consideremos la sucesion {an}, = { } . Entonces la suma parcial n-ésima es n(n +1) 2 a 1 1 1 S.= > => ( _ Like 2 lk n+l Por tanto, la suma de la serie es 1 S= lim Sy = lim a (1- =1 . n+l Teorema 1.12 (Teorema de Taylor). Supongamos que f € C”*"[a,d] y sea xq € [a,b]. Entonces, para cada x € (a,b), existe un ntimero (x) (el valor de ¢ depende de «) que esta entre aq y x y verifica (as) I(2) = Pala) + Bala), donde i) P,(2) = ae (0) (2 — ay)6 se llama polinomio de Taylor de grado n de f alrededor de x y OHNE) (18) Ry (x) = Tai | a — a9)", Ejemplo 1.8. La funcién f(z) = sen(z) verifica las hipétesis del Teorema 1.12. El polinomio de Taylor P,(z) de grado n = 9 de f alrededor de xo = 0 se obtiene calculando las siguientes derivadas en x = 0 y sustituyendo sus valores en la formula (17): f(z) = sen(z), Fo) fl(z)=-s (2) = costa), f(a) = cosa), FO) = 1, P(x) =ex-Zt+a Las graficas de f y P) en el intervalo [0,27] se muestran en la Figura 1.6. . 10 Cap. 1 PRELIMINARES y=f@) Figura 1.6 Las graficas de f(x) = sen(x) y de su polinomio de Taylor P(x) = Pox) = - 29/3! +.0°/5!—2"/7!+29/91. Corolario 1.1. Si P,(z) es el polinomio de Taylor de grado n dado en el Teorema 1.12, entonces (19) PO! (xg) = f(ao) para k=0, 1, -.., m. Evaluacién de un Polinomio Supongamos que escribimos un polinomio P(x) de grado n en la forma (20) P(x) = ana” + ane") + +++ + age? + aya + ag. El método de Horner o regla de Ruffini o division sintética es ma técnica para evaluar polinomios que puede ser vista como una coleccién de multiplicaciones encajadas. Por ejemplo, un polinomio de quinto grado puede escribirse como una coleccién de cinco multiplicaciones encajadas Ps(x) = ((((asa + a4)x + a3) + a2)x + a) )x + a9. Teorema 1.13 (Método de Horner o regla de Ruffini para evaluar po- linomios). Sea P(z) el polinomio dado por la expresién (20) y sea x = ¢ un mimero para el que deseamos evaluar P(c). Pongamos bn = an y calculemos (21) by = ay +cbey1 para k=n-1, n-2,. SEc. 1.1 UN REPASO AL CALCULO INFINITESIMAL 1 Tabla 1.1 Coeficientes b, para el método de Horner. a* |Comparacién de (20) y (24)| Obtencién de by. x @n =bn bn =an ant Qn-1=bn-1— bn |bn-1 = an-1 + ebm ak ay = by — ches by = ay tebe x? a9 = bo — cb, by = a0 + chr entonces by = P(c). Es més, si definimos (22) Qol) = Pax”! + by ra? $+ Dg? + bye + by y Ro = bo, entonces (23) P(a) = (« — c)Qo(a) + Ro, 0 sea, Qo(z) es el polinomio cociente de grado n — 1 y Ro = by = P(c) es el resto de la division de P(z) entre x —c. Demostracién. En la igualdad (23) sustituimos Qo(x) por el miembro derecho de la formula (22) y Ro por by para obtener 2 P(x) = (@ — €)(bne” | + bn-iz” > +++ + bgx® + box + br) + bo (24) = bn 2” + (Bn—1 — chp”! + +++ + (2 — bg)? + (bi — ebz)x + (bo — cbr) Los mimeros by, quedan entonces determinados por la formula (21) sin mds que comparar los coeficientes de x* en la formula (20) y en la igualdad (24), tal y como se muestra en la Tabla 1.1. La igualdad P(c) = by se obtiene facilmente sustituyendo x = c en la igual- dad (23) y usando que Ro = bo: (25) P(e) = (c~ €)Qo(c) + Ro La férmula de recursién para by dada en (21) es facil de construir en un computador. Un algoritmo simple es 12 Cap. 1 PRELIMINARES Tabla 1.2 Tabla de Horner para el proceso de division sintética. Dato] dn Qn. Qn-n 0? kg ¢ chy Cbg y = Cee chy chp chy Bn baat ne ey by = PO) Resultado b(n) = a(n); parak=n-—1: -1:0 b(k) = a(k) + cx b(k + 1); fin Cuando el método de Horner se ejecuta a mano, es més facil escribir los coeficientes de P(x) en una fila y hacer la suma b, = aq +cbg41 en una columna debajo de ay. Este procedimiento se ilustra en la Tabla 1.2. Ejemplo 1.9. Uso de la divisién sintética (método de Horner) para hallar P(3) siendo P el polinomio P(x) — 6x + 82° + 8x? + 4a — 40. as au a3 a a ao Dato 1 -6 8 8 4 40 e=3 3 -9 3 15 57 1 -3 1 5 19 | 17= P(3) = bo bs bs bs be by Resultado Por tanto, P(3) = 17. . Ejercicios 1. (a) Halle L = limp s0(4n+1)/(2n+1). Después determine {en} = {L—an} y halle limy.s00 En- (b) Halle L = lim, ..(2n® + 6n — 1)/(4n® + 2n + 1). Después determine {en} = {L— an} y halle limp oo én- 2, Sea {an}, una sucesién tal que lity yoo tn = 2. (a) Halle limn oc sen(an). (b) Halle limy+.o In( SEc. 1.1 UN REPASO AL SALCULO INFINITESIMAL 13 3. Halle los ntimeros c cuya existencia garantiza el teorema del valor intermedio para cada una de las siguientes funciones, en el intervalo que se indica y para cl valor de L dado, (a) f(a) = -2? + 2x +3.en [-1,0] para L = 2. (b) f(x) = Va? — 5x —2 en [6,8] para L = 3. 4, Halle las cotas superior e inferior cuya existencia garantiza el teorema de los valores extremos para cada una de las siguientes funciones en el intervalo que se indica. (a) f(c) =a? - 32 +1 en [-1,2] (b) f(z) = cos? (xr) — sen(x) en [0,27]. 5. Halle los ntimeros ¢ cuya existencia garantiza el teorema de Rolle para cada una de las siguientes funciones en el intervalo que se indica. (a) f(x) = 24 — 4x? en [-2, 2]. (b) f(x) =sen(x) + sen(2z) en [0, 27]. 6. Halle los ntimeros ¢ cuya existencia garantiza el teorema del valor medio para cada una de las siguientes funciones en el intervalo que se indica. (a) fle) = ven (0,4). (b) f(x) = en (0,1). 7. Aplique el teorema de Rolle generalizado a la funcién f(e) = 2 en el intervalo [0,3]. ~1(e-3) 8. Aplique el primer teorema fundamental del célculo a cada una de las siguientes funciones en el intervalo que se indic: (a) f(x) = xe* en (0, 2]. (b) f(z) = ayer 9. Aplique el segundo teorema fundamental del célculo a cada una de las siguien- tes funciones: (a) & fo # costt) at. (b) fe? at. 10. Halle los ntimeros ¢ cuya existencia garantiza el teorema del valor medio para integrales para cada una de las siguientes funciones en el intervalo que se indica, (a) f(z) oa 3,4). (b) F(e a) cos(z) en [0,3 /2]. 11. Halle la suma de cada una de las siguientes sucesiones 0 series. ©) {ehean © (eh, = 1 ) Samer ® Lea = 12. Halle el polinomio de Taylor de grado n = 4 para cada una de las siguientes 14 Cap. 1 PRELIMINARES funciones alrededor del punto zo dado. (a) f(z) = Vz, 0 = 1. (b) f(z) = 2° +42? + 3a +1, xo (c) f(z) = cos(z), xo = 0. 13. Sean f(z) = sen(x) y P(z) P®(0) = f®(0) para k = 1, 2 14. Use division sintética (el método de Horner) para hallar P(c) en los siguientes x? /3! + 29/5! — 27/7! + 2°/9!. Pruebe que 9. casos. (a) P(x) = 24 +29 - 132? -2-12,c=3. (b) P(x) = 227 + 2° + 2° - 224 - 2 + 23, 15. Halle el area media de todos los comprendido entre 1 y 3. érculos centrados en el origen cuyo radio est 16. Supongamos que un polinomio P(x) tiene n raices reales en el intervalo [a, 8]. Pruebe que P!"-")(z) tiene al menos una raiz real en dicho intervalo. 17. Supongamos que f, f’ y f” estén definidas en un intervalo [a,b], que f(a) = f(b) = 0 y que f(c) > 0 para todo c € (a,b). Pruebe que existe un ntimero d€ (a,b) tal que f"(d) < 0. Numeros binarios Los seres humanos hacemos los célculos aritméticos usando el sistema numérico decimal (0 en base 10). La mayorfa de los computadores hacen los célculos arit- méticos usando el sistema numérico binario (o en base 2). Esto puede parecer que no es asi porque la comunicacién con el computador (datos/resultados) se hace con niimeros en base 10. Ello no quiere decir que el computador use base 10; de hecho, lo que ocurre es que convierte los datos en mimeros en base 2 (0, quizds, en base 16), lleva a cabo los célculos aritméticos en base 2 y, finalmente, traduce la respuesta a base 10 antes de mostrar el resultado. Hace falta experimentar un poco para verificar este hecho. Un computador con nueve cifras decimales de exactitud dio como respuesta 100000 (1) S 0.1 = 9999.99447. k=1 Aqui se trataba de sumar 100000 veces el niimero 75. La respuesta exac- ta es 10000 y uno de nuestros objetivos es el comprender la raz6n de este cAlculo aparentemente erréneo. Al final de esta seccién, mostraremos que siem- pre perdemos algo cuando el computador traduce la fraccién decimal 4 al sistema binario. SEC. 1.2 NGMEROS BINARIOS 15 Numeros binarios Usamos los mimeros en base 10 para la mayor parte de nuestro quehacer ma- tematico. Por ejemplo, el ntimero 1563 lo podemos expresar de forma desa- rrollada como 1563 = (1 x 10°) + (5 x 107) + (6 x 10') + (3 x 10°). En general, sea N un ntimero natural; entonces existen K’ cifras a9, @1, .-., aK tomadas del conjunto {0,1,...,8,9} tales que N admite el siguiente desarrollo en base 10 N = (ax x 10%) + (ax—1 x 10%-1) +--+ (ar x 10") + (ap x 10°). Esto nos permite expresar N en notacién decimal como (2) N = axax-1-+-024140gien (decimal). Si se sobreentiende que 10 es la base, entonces (2) se escribe como N = agag-1--- 20109. Por ejemplo, sobreentendemos que 1563 = 1563diez- Usando potencias de 2, el mimero 1563 se escribe como 1563 = (1 x 2!) + (1 x 2°) + (0 x 28) + (0 x 27) + (0 x 2°) (3) + (0x 2°) + (1 x 24) + (1 x 29) + (0 x 2?) + (1 x 2!) + (1x 2°). Lo que puede comprobarse haciendo las cuentas: 1563 = 1024+ 512+ 16+8+2+1. En general, sea N un niimero natural; entonces existen J cifras bo, b1, ...; 63, cada una de las cuales es un 0 o un 1, tales que N admite el siguiente desarrollo en base 2 (4) N = (by x 27) + (bya x 2771) $+ + (by x 2") + (bo x 2°). Esto nos permite expresar N en notacién binaria como (5) N = bybj-1+++babibogg, —_ (binaria). Usando la notacién de (5) y la igualdad (3) obtenemos 1563 = 11000011 01140s- Observaciones. Usaremos siempre la palabra “dos” como subindice al final de un mimero binario. Esto nos permitiré distinguir los ntimeros binarios de los mimeros de uso ordinario en base 10. Asi 111 significa ciento once mientras que 11 1gos significa siete. 16 Cap. 1 PRELIMINARES A menudo se da el caso de que la representacién binaria de un nimero re- quiere mas cifras que su representacidn decimal. Eso se debe a que las potencias de 2 crecen mucho més lentamente que las potencias de 10. Un algoritmo eficiente para hallar la representacién en base 2 de un ntimero natural N’ puede deducirse de la igualdad (4): Si dividimos ambos miembros de (A) entre 2, obtenemos 6) Nay x2 4 Os 2) bet OEM asi que la cifra bo es el resto de la divisién de N entre 2. A continuacién determinamos 6); para ello escribimos (6) como N/2 = Qo + 6/2, con lo que (7) Qa = (by x 2771) + (bya x 27-7) + + (by x 2") + (by x 2°). Ahora dividimos ambos miembros de (7) entre 2 y obtenemos % <6, x 297?) + (bya x 27-3) te + (be x24 4, luego la cifra by es el resto de la division de Qo entre 2. Continuando este proceso generamos dos sucesiones {Qi} y {b.} de cocientes y restos, respectivamente. EI proceso termina cuando encontramos un mimero natural J tal que Qy = 0. Estas sucesiones obedecen a las siguientes formulas: N =2Qo + bo Qo = 2Qi +b 2Qy-1 + bs-1 2Qs+b) (Qs =0). Qua Ejemplo 1.10. ;Cémo se prueba que 1563 = 11000011 011 dos? Empezamos con N = 1563 y construimos los cocientes y los restos de acuerdo Sec. 1.2 NUMEROS BINARIOS 17 con las formulas dadas en (8): 156: 78 390 = 2x 195 +0, 195 =2x 9741, 97=2x 4841, 48=2x 2440, bs 2M=2x 1240, be =0 12=2x 640, b=0 6=2x 340, b=0 3=2x 141, b=1 1=2x 041, bo=l Asi que la representacién binaria de 1563 es 1563 = biobobs ++ b2b1 Dodos = 11000011 01 Laos. . Sucesiones y series Cuando los ntimeros racionales se expresan en forma decimal, se da a menudo el caso de que hace falta una cantidad infinita de cifras. Un ejemplo familiar es 1 (9) 3703, Aqui el simbolo 3 significa que la cifra 3 se repite sin fin para formar un decimal periddico con infinitas cifras todas iguales a 3 (se sobreentiende que estamos trabajando en base 10). Es mas, la intencién matematica es que la notacién de (9) sea una abreviatura de la serie S=(3x 107!) + (3x 107?) +---+(3x 10") + (10) = el = 3(10 == 2 ) S Si sdlo usamos una cantidad finita de cifras, entonces lo que obtenemos es una aproximacién a 1/3. Por ejemplo, 1/3 © 0.333 = 333/1000. El error de esta aproximacién es 1/3000 ya que, usando (10), podemos comprobar que 1/3 = 0.333 + 1/3000. Es importante comprender el desarrollo escrito en (10). Una primera apro- ximacién ingenua seria multiplicar ambos miembros por 10 y restar: 10S = 34(3 x 107!) + (3x 10-2) +--+ (3 x 10-™) +--- — (3 x 1071) — (3 x 10-2) —--- — (3 x 10-7) - 9S = 3+ (0x 107!) + (0x 10-7) +--- + (0x 10-") ++ 18 Cap. 1 PRELIMINARES Por tanto, S = 3/9 = 1/3. Los teoremas que justifican este procedimiento para restar dos series infinitas pueden encontrarse en la mayoria de los libros de cAlculo infinitesimal. A continuacién repasaremos algunos de los conceptos involucrados; para rellenar las lagunas se puede acudir a un texto estandar de cAlculo infinitesimal. Definicién 1.6 (La serie geométrica). La serie (ay Loe set enter peter tes, n=0 donde ¢ #0 y r #0, se llama serie geométrica de razén r. a Teorema 1.14 (Convergencia de la serie geométrica). La serie geomé- trica tiene las siguientes propiedades: c 12 Si 1. tonces occ (12) i |r| <1, en nee = (13) Si |r| > 1, entonces la serie diverge. Demostracién. La formula para sumar una progresién geométrica finita es e(a—r"t) (14) Sp =eterter +. ter" = para r#l. Para probar (12) observemos que (15) [rl <1 implica que lim r"+? = 0. n-bo0 Tomando limites en (14) y (15) cuando n + 00, obtenemos - __¢ eye di, Se= 75 (I~ ime) = EE La expresi6n (15) de la Seccién 1.1 nos dice que este limite prueba (12). Cuando |r| > Ly r # 1, la sucesién {r"+!} no converge y, por tanto, la ion {S$} dada en (14) no tiene limite; eso prueba (13) para r # 1. Finalmente, si r = 1, entonces S$, = (n+1)c y la sucesién {$,,} no converge. ° La formula que aparece en la expresién (12) del Teorema 1.14 es también una forma eficiente de convertir una expresién decimal periddica en una fraccién. Ejemplo 1.11. 0.3 = > 3(10)-* = -3 + $7 3(10)-* it t= 3 1 =-3+——, =-34+ >=. 0 oes) Sec. 1.2. NGMEROS BINARIOS 19 Fracciones binarias Las fracciones binarias (base 2) pueden expresarse como sumas en las que apare- cen potencias negativas de 2. Si R es un ntimero real tal que 0 < R < 1, entonces existe una sucesién de cifras d), do, ..., dn, ..., todas ellas en {0, 1}, tales que (16) R= (dy x 2") + (dz X27?) +--+ (dy x27) $00. La expresién del miembro derecho de la igualdad (16) suele expresarse en nota- cién fraccionaria binaria como (17) R= 0.dydy +++ dy -gos- Hay muchos mimeros reales cuya representacién binaria requiere una canti- dad infinita de cifras iguales a 1. La fraccién 7/10 puede expresarse como 0.7 en base 10, pero su representacién en base 2 requiere una cantidad infinita de unos: (18) 5 = 0.1011040s- Esta fraccién binaria es periddica: el grupo de cuatro cifras 0110 se repite sin fin. Podemos desarrollar ahora un algoritmo eficiente para hallar representa- ciones en base 2. Si multiplicamos por 2 ambos miembros de la expresién (16), el resultado es (19) 2R = dy + (dy x 271) He + (dy X 27") 4), La cantidad entre paréntesis en el miembro derecho de (19) es un niimero po- sitivo y menor que 1; por tanto, d) es la parte entera de 2R, lo que denotamos por d; = ent (2R). Para continuar el proceso, tomamos la parte fraccionaria de la igualdad (19) y escribimos (20) F, = frac(2R) = (dz x 27!) +--+ (dn x 2-H) $-, donde frac(2R) denota la parte fraccionaria del ntimero real 2R. Multiplicando por 2 ambos miembros de (20), el resultado es (21) 2F, = dz + ((dg x 271) +--+ (dy x 2-7#) +--+), Tomando la parte entera en esta igualdad obtenemos dp = ent(2F1). El proceso contintia, posiblemente sin fin (si R tiene una representacién en base 2 que no es finita ni periédica), y genera de forma recurrente dos sucesiones {dk} y {Fe} dj, = ent(2F,-1), (22) Fj, = frac(2F,1), 20 Cap. 1 PRELIMINARES donde d; = ent(2R) y F, = frac(2R). La representacién binaria de R viene dada entonces por la serie convergente (que es una subserie de la serie geométrica de raz6n 1/2). Ejemplo 1.12. La representacién binaria de 7/10 dada en (18) fue encontrada usando las formulas de (22): Sea R = 7/10 = 0.7, entonces 2R=14 d, = ent(14) = Fy = frac(1.4) = 0.4 2F, = 08 dy = ent(0.8) = Fy = frac(0.8) = 0.8 2; = 1.6 d; = ent(1.6) = Fy = frac(1.6) = 0.6 2F; = 1.2 dy = ent(1.2) = = frac(1.2) = 0.2 2F,=04 ds, = ent(0.4) = = frac(0.4) = 0.4 2F; = 0.8 dg = ent(0.8) = 0 Fe = frac(0.8) = 0.8 2) = 16 d; = ent(1.6) =1 F, = frac(1.6) = 0.6. Notese que 2F) = 1.6 = 2g, luego los patrones dk = dea y Fe = Faya se dardn para k = 2, 3, 4, ... En consecuencia, 7/10 = 0.10110dos- / Podemos usar la serie geométrica para hallar el ntimero racional en base 10 al que representa un niimero binario dado. Ejemplo 1.13. Veamos cémo hallar el ntimero racional en base 10 representado por el nimero binario 0.014o.- Escribiéndolo en forma desarrollada: 0.01 gos = (0 x 2-1) + (1 x 277) + (0x 273) + (1x 2-4) + = ye =-l+ ye 7 i i=0 =-1+ -+4e 7 3° 3 Desplazamiento binario Si queremos hallar un ntimero racional conocida su representacin binaria pe- riddica, entonces resulta titil hacer un desplazamiento adecuado de sus cifras binarias. Por ejemplo, supongamos que 5' viene dado por (23) S = 0.0000011000.os. Sec. 1.2 NOMEROS BINARIOS 21 Multiplicando ambos miembros de (23) por 2° desplazamos la coma. binaria cinco lugares hacia la derecha y escribimos 325 como (24) 328 = 0.11000 qos. De forma parecida, multiplicando por 2!° ambos miembros de (23) desplazamos la coma binaria diez lugares hacia la derecha y escribimos 10249 como (25) 10245’ = 11000.1100020s- Restando las igualdades (24) y (25) obtenemos 9925 = 11 0000s 0, puesto que 11 000,05 = 24, también 9925 = 24, luego S = 8/33 Notaci6dn cientifica Una forma estandar de representar un mimero real, llamada notacién cien- téfica, consiste en desplazar la coma decimal a la vez que proporcionamos una potencia de 10 adecuada. Por ejemplo 0.0000747 = 7.47 x 107°, 31.4159265 = 3.14159265 x 10, 700.000 000 = 9.7 x 10°. En quimica, una constante muy importante es la conocida como nmimero de Avogadro: 6.02252 x 102%, que es el ntimero de dtomos de un elemento que hay en una masa de tantos gramos de ese elemento como indique su peso atémico. En ciencias de la computacién, se define 1K = 1.024 x 103. Ntimeros del computador Los computadores usan para los ntimeros reales una representacién binaria en coma flotante normalizada. Esto significa que lo que almacena el computador no es una cantidad matematica x, sino una aproximacién binaria a x: (26) wet x2" El numero q se llama mantisa y es una expresin binaria finita que verifica la desigualdad 1/2 < q < 1. El ntimero entero n se lama eaponente. Un computador sélo utiliza un pequeiio subconjunto de mimeros reales. Tipicamente, este subconjunto contiene sdlo una porci6n de los mimeros binarios sugeridos por (26) ya que es necesario restringir el mimero de cifras binarias que puedan tener tanto q como n. Por ejemplo, consideremos el conjunto de todos los ntimeros reales positivos de la forma (27) O.dydodgdaaos x 2", 22 Cap. 1 PRELIMINARES Tabla 1.3 Equivalentes decimales para un conjunto de ntimeros binarios con una mantisa de 4 cifras y un exponente de n = —3, 84 Exponente: Mantisa _.=~—=SEr_rrrserce__CLCU 0.1000d0s | 0.0625 0.125, 0.25 0.5 | 1 2 4 8 0.1001g0s | 0.0703125 | 0.140625 | 0.28125 | 0.5625 | 1.125 | 2.25 45 9 0.1010a0s | 0.078125 0.15625 0.3125 0.625, 1.25 2.5 5 10 0.101140; | 0.0859375 | 0.171875 | 0.34375 0.6875 | 1.375 | 2.75 5.5 il 0.1100a0s | 0.09375 0.1875 0.375 0.75 15 3 6 12 0.110140 | 0.1015625 | 0.203125 | 0.40625 | 0.8125 | 1.625 | 3.25 | 6.5 | 13 0.1110des | 0. 109375 0.21875, 0.4375, 0.875 3.5 7 cc 0.111 10s | 0.1171875 | 0.234375 | 0.46875 Soe ei. 15 donde d; = 1 y do,dg y dy son bien 0, bien 1, y n € {-3,—2,-1,0,1, ‘Tenemos ocho elecciones posibles para la mantisa y ocho elecciones posibles para el exponente de (27), lo que nos proporciona un conjunto de 64 mimeros: (28) {0.1000g0s x 278, 0.1001g0s x 273, 0.1110g0s x 24, 0.111 laos x 24}. Las expresiones decimales de estos 64 ntimeros se recogen en la Tabla 1.3. Es importante darse cuenta de que cuando la mantisa y el exponente de (27) se restringen, el computador dispone sélo de un ntimero limitado de valores entre los que elegir para almacenar una aproximacién al nimero real x. i. Qué ocurrirfa si pidiéramos a un computador con una mantisa de 4 cifras. como la que acabamos de describir, que realizara la operacién (7 +4) + 4? Supongamos que el computador redondea todos los ntimeros reales al mimero binario mas préximo de los que aparecen en la Tabla 1.3 (mirese en la tabla para comprobar que en cada uno de los pasos siguientes se usa la mejor aproxi- maci6n). ® 0.110105 X 273 = 0.01101 gos x 272 % O.1101gos X 272 = 0.1101 gags x 2 1.001 11go5 x 272. (29) sh fom si El computador debe decidir ahora cémo almacenar el mimero 1.001 Lgos X 272. Supongamos que se redondea como 0.1010aos x 271. El paso siguiente es % 0.101040, X27! = 0.101040. x 27? ®& 0.1011 gos X 2-2 = 0.0101 1gos x 27! O.11111go x 271. (30) infer lee SEC. 1.2 NUMEROS BINARIOS 23, El computador debe decidir ahora cémo almacenar el mimero 0.111 L4os X 27! Puesto que suponemos que redondea, almacena 0.10000,os x 2°. Por tanto, la solucién del computador al problema de la suma es 7 oe 0 (31) Fe © 0:10000,05 % 2°. El error en el cdlculo efectuado por el computador es 7 (32) B 0.10000,0; 0.466667 — 0.500000 = —0.033333, que expresado como un porcentaje de 7/15 es del 7.14%. Precisién de un computador Para almacenar los ntimeros con una precisién adecuada a las necesidades ha- bituales, los computadores deben trabajar con una aritmética binaria de coma flotante en la que la mantisa disponga de al menos 24 cifras binarias; lo que se traduce en unas siete cifras decimales. Si la mantisa utiliza 32 cifras, entonces se pueden almacenar nimeros de hasta nueve cifras decimales significativas. Volva- mos, de nuevo, a la dificultad encontrada en la expresién (1), al comienzo de la seccién, cuando se trataba de sumar 1/10 repetidamente con un computador. Supongamos que la mantisa q que aparece en (26) contiene 32 cifras binarias, entonces la condicién 1/2 < q implica que la primera cifra es d, = 1. Por tanto, qes de la forma (33) q = O.Adods - dg, ds2os- Cuando representamos una fraccién en forma binaria, lo usual es que esta representacidn sea periédica; por ejemplo. 1 7 (34) 5 = 0.0007 To: 1 Cuando usamos una mantisa con 32 cifras, el computador trunca y usa como aproximacién interna 1 (35) 7p © 0-11001100110011001100110011001100405 x ae cuyo error, la diferencia entre (34) y (35), es (36) 0.T100j05 x 273° & 2.328306437 x 10711. Por este motivo, el computador tiene que cometer un error cuando en (1) le pedimos que sume 1/10 cien mil veces, Este error en la suma deberia ser 24 Cap. 1 PRELIMINARES al menos de (100 000)(2.328306437 x 10-'') = 2.328306437 x 10°. El error es, de hecho, mucho mayor: habra ocasiones en que sea necesario redondear la suma parcial; ademas, conforme la suma crece, los sumandos 1/10 son pequefios comparados con el tamafio que tenga la suma en ese momento por lo que su contribucién se trunca de forma mds severa. El efecto compuesto de todos estos errores es lo que produce un error final que vale 10000 ~ 9999.99447 5.53 x 1073. Numeros del computador en coma flotante Los computadores disponen de un modo entero y de un modo en coma flotante para representar nimeros. El modo entero se usa para Hevar a cabo operaciones cuyo resultado es con seguridad un niimero entero, lo que tiene un uso limitado en cAlculo numérico. Para las aplicaciones en las ciencias y la ingenieria se utilizan representaciones en coma flotante y debe quedar sobreen- tendido que el uso de una expresién como (26) establece restricciones sobre el niimero de cifras usadas para la mantisa q y sobre el rango del exponente n. Los computadores que usan 32 cifras binarias para representar nimeros reales con precisién simple, reservan 8 cifras para el exponente y 24 para la mantisa (incluyendo los signos); eso les permite representar, aparte del cero, ntimeros reales de magnitud comprendida en el rango que va desde 2.938736E -39 hasta —-:1.701412F + 38 (0 sea, desde 2-1* hasta 2!9°) con seis cifras decimales de precisién mumérica (pues 2-4 = 1.2 x 1077). Los computadores que usan 48 cifras para representar niimeros reales con precisién simple reservan 8 cifras para el exponente y 40 para la mantisa; eso les permite representar mimeros reales de magnitud comprendida en el rango que va desde —2.9387358771E — 39 hasta —_‘1.7014118346E + 38 (0 sea, desde 2-128 hasta 2!2) con 11 cifras decimales de precisién numérica (pues 2-89 = 1.8 x 10722) el computador emplea 64 cifras para representar ntimeros reales con pre- in doble, entonces puede reservar, por ejemplo, 11 cifras para el exponente lo que permite representar ntimeros reales de magnitud qd y 53 para la mantis comprendida en el rango que va desde — 5.562684646268003F — 309 hasta —_ 8.988465674311580E + 307 (0 sea, desde 2-104 hasta 21028) con una precisién de unas 16 cifras decimales (ya que 2-®? = 2.2 x 107"), Src. 1.2 NUMEROS BINARIOS 25 Ejercicios 1. Use un computador para realizar las siguientes operaciones de forma acumu- 10. 11. a . Siga el Ej . En las siguientes a lada; la intencién es que el computador vaya haciendo las substraccione forma repetida; sin emplear el atajo de la multiplicacién. (a) 10000 — 37,9 0.1 (b) 10000 — 7320 0.125 . Use las relaciones (4) y (5) para convertir los siguientes ntimeros binarios en su forma decimal (base 10). (a) 10101aos (b) 111000d0s (c) 1111111040. (4) 100000011145, . Use las relaciones (16) y (17) para convertir las siguientes fracciones binarias en su forma decimal (base 10) (a) 0.1101 Laos (b) 0.101010 (c) 01010101405 (4) 0.110110110,05 . Convierta los siguientes niimeros binarios cn su forma decimal (base 10). (a) 1.0110101a0s (b) 11.001001000140s . Los ntimeros del Ejercicio 4 son aproximadamente V2 y z. Halle el error de dichas aproximaciones; es decir, halle (a) ¥2-1.0110101g05 (Use que V2 = 1.41421356237309...) (b) 7 ~11.0010010001g0s (Use que = 3.14159265358979....) . Siga el Ejemplo 1.10 para convertir los siguientes mimeros en su forma binaria (a) 23 (b) 87 (c) 378 (d) 2388 . Siga el Ejemplo 1.12 para convertir los siguientes mimeros en fracciones bina- rias de la forma 0.did2 += dnaos- (a) 7/16 (b) 13/16 (c) 23/32 (a) 75/128 emplo 1.12 para convertir los siguientes mimeros en fracciones bina- rias per . (a) 1/10 (b) 1/3 (c) 1/7 proximaciones binarias con siete cifras significativas, halle el error de la aproximacién R — 0.d; dd dadsdodz<5- (a) R=1/10% 0.0001100,05 (b) R= 1/7 = 0.0010010,es Pruebe que el desarrollo binario 1/7 = 0.00Taos es equivalente ad = 4+ 4+ sis +++ y use el Teorema 1.14 para justificar dicho desarrollo. Pruebe que el desarrollo binario 1/5 = 0.001 Los es equivalente a } = ¢ yt gag t+ y use el Teorema 1.14 para justificar dicho desarrollo. ai Pruebe que cualquier mimero 2~ sentarse como un mimero decimal con N 0.d;dyd3---dy. Indicaci6n. 1/2 = 0.5, 1/4 , siendo N un ntimero natural, puede repre- es decir, 27% = 1.3 26 Cap. 1 PRELIMINARES 13. Use la Tabla 1.3 para determinar qué ocurre cuando un computador con una mantisa de cuatro cifras leva a cabo los siguientes cdlculos. (a) (G45) +5 (b) (ip +3) +3 () (+a) +4 () Go +a) +7 14. Pruebe que si sustituimos 2 por 3 en todas las formulas de (8), el resultado es un método para hallar la expresién en base 3 de un mimero natural. Utilice esto para expresar los siguientes ntimeros en base 3. (a) 10 (b) 23 (c) 421 (d) 1784 15. Pruebe que si sustituimos 2 por 3 en (22), el resultado es un método para hallar la expresién en base 3 de un niimero positive R tal que 0 < R < 1. Utilice esto para expresar los siguientes ntimeros en base 3. (a) 1/3 (b) 1/2 (c) 1/10 (d) 11/27 16. Pruebe que si sustituimos 2 por 5 en todas las formulas de (8), el resultado es un método para, hallar la expresién en base 5 de un ntimero natural. Utilice esto para expresar los siguientes mimeros en base 5. (a) 10 (b) 35 (c) 721 (d) 734 17. Pruebe que si sustituimos 2 por 5 en (22), el resultado es un método para hallar la expresién en base 5 de un miimero positivo R tal que 0 < R < 1. Utilice esto para expresar los siguientes ntimeros en base 5. (a) 1/3 (b) 1/2 (c) 1/10 (a) 154/625 Analisis del error En la practica del célculo numérico es importante tener en cuenta que las solu- ciones calculadas por el computador no son soluciones matematicas exactas. La precisibn de una solucién numérica puede verse disminuida por diversos fac- tores, algunos de naturaleza sutil, y la comprensién de estas dificultades puede guiarnos a menudo a desarrollar o a construir algoritmos numéricos adecuados. Definicién 1.7. Supongamos que jes una aproximacién a p. El error abso- luto de la aproximacién es Ey = |p — | y el error relativo es Ry = |p —7i\/|p\, supuesto que p # 0. a El error absoluto no es mas que la distancia entre el valor exacto y el valor aproximado, mientras que el error relativo mide el error entendido como una porcidn del valor exacto. Ejemplo 1.14. Vamos a encontrar el error absoluto y el error relativo en los siguientes casos. Sean x = 3.141592 y # = 3.14, entonces el error absoluto es (1a) )3.141592 — 3.14] = 0.001592 Sec. 1.3 ANALISIS DEL ERROR 27 y el error relativo es 0.001592 = 3141592 = 0.00507. Sean y = 1000000 e 7 = 999.996, entonces el error absoluto es (1b) = |y — 9] = |1000000 ~ 999 996| = 4 y el error relativo es ly - 9 R, = — = ——— oe 1000000 0.000009, entonces el error absoluto es {0.000012 — 0.000009] = 0.000003 = 0.000004. Sean z = 0.000012 y 2 (10) E: y el error relativo es En el caso (1a) no hay mucha diferencia entre E, y Ry; cualquiera de los dos puede usarse para determinar la precisién de . En el caso (1b), el valor de y es del orden de magnitud de 10°, el error absoluto B, es grande y el error relativo Ry es pequeiio. En este caso, 7 serfa posiblemente considerada como una buena apoximacién a y. En el caso (1c), z es del orden de magnitud de 10-® y el error absoluto E es el menor de los tres casos. Sin embargo, el error relativo R. es el mayor; en términos de porcentaje, es de un 25%, por lo que 2 es considerada como una mala aproximaci6n a z. Observemos que conforme |p| se aleja de 1 (creciendo o decreciendo), el error relative Ry va siendo un indicador de la precisién de la aproximacién mejor que el error absoluto Ey. En las representaciones en coma flotante se prefiere trabajar con el error relativo ya que éste esta directamente relacionado con la mantisa. Definicién 1.8. Diremos que un mimero f es una aproximacién a p con d cifras decimales significativas si d es el mayor mimero natural tal que ppl _ 10~" a |p — pl/|p| = 7.03442 x 10-7 > 10~6/2, la aproximacién P coincide con el valor exacto p = 0.544987104184 en cinco cifras significativas. Las graficas de f(x) = e** y de y = Pa(z) y el Area limitada por la curva para 0 1. Supongamos que k es el mimero maximo de cifras decimales que se admiten en la aritmética en coma flotante de un computador, entonces el ntimero real p se representa mediante el niimero de la maquina fl, q(p) dado por (5) Plyoa(P) = £0.didod3 ...dx x 10”, donde dy € {1,2,..-,8,9} y dj € {0,1,...,8,9} para 1 < j < k. El mimero de la maquina fl,,4(p) se llama representacién en coma flotante me- diante poda o redondeo por debajo de p. En este caso la k-ésima cifra de Flyoa(P) coincide con la k-ésima cifra de p. Una manera alternativa de usar representaciones con & cifras es la representacién en coma flotante me- diante redondeo fl,.q(p), que viene dado por (6) Llioa(p) = £0.rirors ...7e x 10", donde mr, € {1,2,...,8,9} ¥ ry € {0,1,...,8,9} para 1 5) Por ejemplo, el ntimero real = 3.142857142857142857.. 30 Cap. 1 PI MINARES. tiene las siguientes representaciones en coma flotante con seis cifras significativas Llyoa(p) = 0.314285 x 101, Flrea(P) = 0.314286 x 10'. En situaciones normales la poda y el redondeo los escribiriamos como 3.14285 y 3.14286, respectivamente. Prestemos un poco de atencién al caso en que las tiltimas cifras a redondear son nueves. El nimero real p = 0.23159963 tiene las siguientes representaciones en coma flotante con seis cifras flyoa(p) = 0.231599, flseq(p) = 0.231600. La gran mayorfa de los computadores usan la representacién en coma flotante mediante redondeo. Pérdida de cifras significativas Consideremos los mimeros p = 3.1415926536 y q = 3.1415937341 que son casi iguales y estén ambos expresados con una precisién de 11 cifras decimales. Si calculamos su diferencia p — q = —0.0000030805 vemos que, como las seis primeras cifras de py de q coinciden, su diferencia p—q s6lo contiene cinco cifras decimales; este fendmeno se conoce como pérdida de cifras significativas 0 cancelacién y hay que tener cierto cuidado con él porque puede producir sin que nos demos cuenta una reduccidn en la precision de la respuesta final calculada. Ejemplo 1.17. Vamos a comparar los resultados de calcular (500) y (500), usando seis cifras significativas con redondeo, siendo f(a) = x (vz+1— Vz) y g(x) = 2/ (Ver + Vz). Con la primera funcion, £(500) = 500 (V50i ~ V500) = 500(22.3830 — 22.3607) = 500(0.0223) = 11.1500. Con g(x), _ 500 ~ ¥501 + ¥500 = 500 _ 500 ~ 22.3830+ 22.3607 44.7437 (500) = 11.1748. EC. 1.3 ANALISIS DEL ERROR, 31 La segunda funcidn, g(r), es algebraicamente equivalente a f(z), como muestra el siguiente célculo La respuesta g(500) = 11.1748 tiene un error absohuto menor y es lo que ob- tendriamos redondeando la respuesta exacta 11.174755300747198... a seis cifras signific . Es digno de estudio el Ejercicio 12 en el que se describe cémo evitar la pérdida de cifras significativas cuando usamos la conocida formula para resolver ecuaciones de segundo grado. El siguiente ejemplo ilustra cémo podem: una serie de Taylor truncada para evitar el error por pérdida de cifras significa- tiv Ejemplo 1.18. Vamos a comparar los resultados de calcular f(0.01) y P(0.01), usando seis cifras significativas con redondeo, siendo P(z) = stat 2 La funcién P(r) es el polinomio de Taylor de grado n = 2 de f(x) alrededor de r=0. Para la primera funcién tenemos 0.01 10.01 _ 1.010050 (0.01)? 0.001 “ (0.01) = Para la segunda a 01 001 = 0.5 + 0.001667 + 0.000004 = 0.501671 La respuesta P(0.01) = 0.501671 es mds exacta y coincide con lo que obtendriamos al redondear la respuesta verdadera 0.50167084168057542... a seis cifras significa- tivas. . A la hora de evaluar un polinomio, obtenemos a menudo mejores resultados si usamos el Método de Horner de multiplicacién encajada 32 Cap. 1 PRELIMINARES 3 392 + 39 —Ly Q(z) = ((e- 3)2+3)e—1. s con redondeo, vamos a calcular P(2.19) y Q(2.19) y a comparar estas aproximaciones con los valores exactos P(2.19) = Q(2.19) = 1.685159; P(2.19) a (2.19)° — 3(2.19)? + 3(2.19) - 1 = 10.5 - 14.4+6.57-1= 167. Q(2.19) & ((2.19 — 3)2.19 + 3)2.19 — 1 = 1.69. Los errores absolutos son 0.015159 y 0.004841, respectivamente. Asi que la aproxi- macién @Q(2.19) ~ 1.69 es mejor. En el Ejercicio 6 se requiere realizar una explora- cién para ver qué ocurre cerca de la raiz de este polinomio. . Orden de aproximacién O(h”) Estéi claro que las sucesiones {4s}, y {1}, son ambas convergentes a cero pero, sin embargo, debemos hacer notar que la primera sucesién converge a cero més répidamente que la segunda. En los cap(tulos siguientes introduciremos la terminologia y notacién necesarias para describir cudnto de rapido converge una sucesi6n. Definicién 1.9. Se dice que una funcién f(h) es de orden g(h) cuando h — 0, lo que se denota por f(k) = O(g(h)) (Io que se llama notacién O mayriscula de Landau), si existen constantes C y ¢ tales que (7) \f(h)| < Clg(h)| siempre que |h| N. a Ejemplo 1.21. “5! =O (4), ya que ™z4 < 2} = + siempre que n > 1. . Sec. 1.3 ANALISIS DEL ERROR 33 A menudo nos encontramos con que una funcién f(h) se aproxima mediante otra funcién p(h) y sabemos que una cota del error cometido es M|h”|. Esto nos conduce a la siguiente definicién, Definicién 1.11. Supongamos que una funcién p(h) aproxima a otra f(h) y que existen una constante real M > 0 y un nimero natural n tales que h) — plh Lf) = v(t) 0 tal que en — * me Penal 1, entonces un error exponencial crece cuando n — oo sin que podamos acotarlo; pero si 0 < K < 1, entonces un error exponencial disminuye a cero cuando n > 00. a Los dos ejemplos siguientes muestran como un error inicial puede propagarse de manera estable o inestable. En el primer ejemplo se presentan tres algoritmos cada uno de los cuales generaria recursivamente la misma sucesiGn si se realiza- sen las cuentas exactamente. Después, en el segundo ejemplo, analizaremos la propagacién de pequeios errores en las condiciones iniciales. Sec. 1.3 ANALISIS DEL ERROR 37 Tabla 1.4 La sucesién {x} = {1/3"} y sus aproximaciones {rn}, {Pu} ¥ {an} wn In Tr Pn | = In 0 1=1.0000000000 | 0.9999600000 | 1.0000000000 10000000000 1 4 = 0.3333333333 | 0.3333200000 0.3333200000 | 0.3333200000 2 A=oatiiiii1i1 | 0.1111066667 | 0.1110933330 | 0.1110666667 3 # =0.0370370370 | 0.0370355556 0.0370177778 | 0.0369022222 4 2, =0.0123456790 | 0.0123451852 | 0.0123259259 | 0.0119407407 5 = 0.0041152263 | 0.0041150617 | 0.0040953086 0.0029002469 6 ¥, =0.0013717421 | 0.0013716872 0.0013517695 | --0.0022732510 7 =0.0004572474 | 0.0004572291 0.0004372565 | —0.0104777503 8| gy =0.0001524158 | 0.0001524097 | 0.0001324188 | -0.0326525834 9| shes =0.0000503053 | 0.0000508032 | 0.0000308063 | —0.0983641945 10 | syhq =0-0000169351 | 0.0000169344 | -0.0000030646 | -0.2952280648 uemas siguientes pueden u n {1/3"}°° g si las operaciones Ejemplo 1.24. Vamos a probar que los tres para generar recursivamente los términos de la suc ‘an exactamente: ro=l y me itn 1 parayn ls 2 (21b) el 1 1 ara n= 2 Po . a= 3 y gPn-1 gPn-2 pa , L 10 (le) q=1 m=3 Y Gn—1 — In paran=2, La formula (21a) es obvia, En (21b) la ecuacién en diferencias correspondiente tiene como solucién general py = A(1/3") + B, lo que podemos verificar por sustitucién directa: 4 1 4 A gat gPn-2 = 3 gaat + (5 ando A = 1 y B = 0, lo que corresponde a pp = 1 y p1 = 4, generamos la sin deseada. En (21) la ecuacién en diferencias correspondiente tiene como +B=pnr 38 Cap. 1 PRELIMINARES Tabla 1.5 Las sucesiones de errores {27 — Tn}. {an — Pn} ¥ {2a — dn} n In —Tr Tn = Pn fn — Gn 0 0.0000400000 0.0000000000 0.0000000000 1 0.0000133333 0.0000133333 0.0000013333 2 0.0000044444 0.0000177778 0.0000444444 3 0.0000014815 0.0000192593 0.0001348148 4 0.0000004938 0.0000197531 00004049383 5 0.0000001646 0.0000199177 00012149794 6 0.0000000549 0.0000199726 0.0036449931 7 0.0000000183. 0.0000199909 0.0109349977, 8 0.0000000061 0.0000199970 0.0328049992, 9 0.0000000020 0.0000199990 0.0984149998 10 0.0000000007 0.0000199997 0.2952449999 1/3") + B3", lo que también puede ver A an~ A as po + 83 ‘) - (= 5 + BS ”) ) 4 — (10 — 1)3"-?B solucién general q, = tucién: ‘arse por susti- ‘Tomando A = 1 y B = 0 lo que corresponde a qo = 1 y 1 = }, generamos la sucesion deseada, . Ejemplo 1.25. Vamos a generar aproximaciones a la sucesion {x,} = {1/3"} usando los esquemas 1 (22a) 1» = 0.99996 yt = Fn paran= (22b) po =1, py, = 0.33332, y pp = SP = ; m2 paran = 10 (22e) qo =1, gq: = 0.33332, y gn=—dn-1—Gn-2 paran=2,3,... 3 En (22a) el error inicial de ro es 0.00004 y tanto en (22b) como en (22c) los errores iniciales de p: y 1 son 0.000013. Vamos a investigar la propagacién de los errores en cada esquema. La Tabla 1.4 nos muestra las diez primeras aproximaciones de cada sucesién y la Tabla 1.5 nos muestra los errores de cada formula. El error de {r,} es estable SEC. 1.3. ANALISIS DEL ERROR 39 Ala 0.000015 0.000010 0.000005 . n 2 4 6 8 10 Figura 1.8 Una sucesién de errores {an —rn} estable y decre- ciente. Xn Pn 0.000020 699 0 PRY: 0.000015} 0.000010 0.000005 4 6 8 10 Figura 1.9 Una sucesién de errores {x — py} estable y decrece de forma exponencial. El error de {p,} es estable. El error de {gn} es inestable y crece con velocidad exponencial. Aunque el error de {pn} es estable, como los términos verifican que p, + 0 cuando n + 0, el error acaba dominando a largo plazo y las cifras significativas de los términos posteriores al pg no coinciden con las del correspondiente #,,. Las Figuras 1.8, 1.9 y 1.10 muestran los errores de {rn}, {pn} y {qn}. respectivamente. . Incertidumbre en los datos Los datos de los problemas que se presentan en la realidad contienen incertidum- bre o error. Este tipo de error se conoce como ruido y afectara la exactitud de cualquier célculo numérico que se base en dichos datos. No podemos mejorar la precision de los célculos si realizamos operaciones con datos afectados por ruido. Asi, si empezamos con datos que contienen d cifras significativas, entonces el resultado de un calculo con dichos datos deberia mostrarse también con d cifras significativas; por ejemplo, supongamos que los datos p; = 4.152 y pz = 0.07931 tienen ambos una precision de cuatro cifras, entonces a tentador indicar to- das las cifras que aparecen en la pantalla de una calculadora al hacer, digamos su suma: p; + pz = 4.23131. Esto no es correcto, no deberfamos obtener conclu- 40 Cap. 1 PRELIMINARES 2 4 6 8 10 Figura 1.10 Una sucesién de errores {xn — qn} inestable y creciente. siones que tengan més cifras significativas que los datos originales. La respuesta adecuada en esta situacién es p; + p2 = 4.231. Ejercicios 1. En cada uno de los casos siguientes, halle el error absoluto E, y el error relativo Rz y determine el niimero de ciftas significativas de la aproximacién. (a) x = 2.71828182, @ = 2.7182 (b) y = 98350, 9 (c) z= 0.000068. 2. Complete el siguiente cdlculo 4, 1/4 , f ace f (14249 lo 0 ! Determine qué tipo de error se presenta en esta situacién y compare su resul- tado con el valor exacto p = 0.2553074606. 3. (a) Consideremos los datos p; = 1.414 y p2 = 0.09125, que vienen dados con una precisin de cuatro cifras significativas. Determine el resultado adecuado en esta situacién de la suma p, + po y el producto pips. (b) Consideremos los datos p, = 31.415 y 0.027182, que vienen dados con una precisién de cinco cifras significativas. Determine el resultado adecuado en esta situacién de la suma p; + po y el producto py pe. 4. Complete los siguientes cdlculos y diga qué tipo de error se presenta en cada situacién. (a) sen i + 0.00001) — sen (3) _ 0.3 (0711385222 — 0.70710678119 __ (b) 0.00001 0.00001 In(2 + 0.00005) ~ In(2) _ 0.69317218025 — 0.69314718056 _ 0.00005) - 0.00005 _ SEC, 5. . Usando aritm 1.3 ANALISIS DEL ERROR 41 La pérdida de cifras significativas se puede evitar a veces reordenando los términos de la funcién usando una identidad conocida del algebra o la trigono- metria. Encuentre, en cada uno de los siguientes casos, una formula equivalente a la dada que evite la pérdida de cifras significativ (a) In(x +1) —In(z) para x grande. (b) Va? +1 —2 para x grande. (ce) cos?(z) — sen?(x) para x © 7/4. (4) [AF para 2m x. Evaluacién Polinomial. Sean P(x) = 2° — 3a? + 32 - Q(z) = ((e-3)e+3)n—1, R(x) = (w—1)*. (a) Usando aritmética en coma flotante con cuatro cifras y redondeo, calcule P(2.72), Q(2.72) y R(2.72). En el célculo de P(e), suponga que (2.72)3 = 20.12 y (2.72)? = 7.398 (b) Usando aritmética en coma flotante con cuatro cifras y redondeo, cal- cule P(0.975), Q(0.975) y R(0.975). En el calculo de P(x), suponga que (0.975) = 0.9268 y (0.975)? = 0.9506. ‘a en coma flotante con tres cifras y redondeo, calcule las siguientes sumas (sumando en el orden que se indica): (a) S84 k (b) Daa gt . Discuta la propagacién de los errores en las siguientes operaciones: (a) La suma de tres mimero: ptgtr=@tep)+ Gta) + F+e). ny a rs) (b) El cociente de dos nimeros: a = 9) 4 (c) El producto de tres niimeros: par = (B+ ep + Eq)(F + er). . Dados los desarrollos de Taylor HS1tht+h? +h? + O(n) a cos(h) = 1= 5 + F + O(n). Determine el orden de aproximacidn de su suma y de su producto. 42 10. 11. 12. 13. Cap. 1 PRELIMINARES Dados los desarrollos de Taylor h hn ht Slth+ y+ at+g + O(n?) ne r sen(h) =h— + O(h°) Determine el orden de aproximacidn de su suma y de su producto. Dados los desarrollos de Taylor cos(h) = y none sen(h) =h— a + . + O(K"). Determine el orden de aproximacidn de su suma y de su producto. La Formula Mejorada para la Resolucién de la Ecuacién de Segundo Grado. Supongamos que a # 0 y que b? — dac > 0 y consideremos la ecuacién ax? + be + ¢ = 0. Sus raices pueden hallarse mediante la conocida formula 6) —b + VPP = 4ac vb? — 4dac = ‘ 2a . Pruebe que estas raices pueden calcularse mediante las formulas equivalentes (ii) a T= 7 . b+ Ve? dae b— Vb? = 4ac Indicacién. Racionalice el numerador de (i). Observacién. Cuando |b| © Vi? —4ac, hay que proceder con cuidado para evitar la pérdida de precision por cancelacién. Si b > 0, enton deberia ser calculado con la férmula (ii) Y 2 deberia ser calculado con la férmula (i); mientras que, si b < 0, entonces ay deberfa ser calculado usando (i) y 2 deberia ser calculado usando (ii). Use la formula adecuada para calcular 2; y x2, tal como se explica en el Ejercicio 12, para hallar las raices de las siguientes ecuaciones de segundo grado. (a) 2? - 1000.0012+1=0 (b) 2? — 10000.00012+1=0 (c) 2 — 100000.00001 2+ 1 (d) x? — 1000000.000001 « + Sec. 1.3 ANALISIS DEL ERROR 43 Algoritmos y programas ¢ los resultados de los Ejercicios 12 y 13 para construir un algoritmo y un programa en MATLAB que calcule las raices de una ecuacién cuadratica en todas las situaciones posibles, incluyendo los casos problematicos cuando |b] = VB? — dac. 2. Siguiendo el Ejemplo 1.25, genere las diez, primeras aproximaciones numéricas de cada una de las siguientes ecuaciones en diferencias. En cada caso se in- troduce un error pequeiio; si no hubiera tal error, las tres ecuaciones en dife- rencias generarfan la sucesién {1/2"}22,. Presente sus resultados como en las Tablas 1.4 y 1.5 y las Figuras 1.8, 1.9 y 1.10. (a) 79 = 0.994 y ry =3rna, paran=1,2 (b) po = 1, pr = 0.497 y Dp = =Pn (c) do = 1,41 = 0.497 y qn para n = 2, 3, para n= Resolucién de ecuaciones no lineales Consideremos el problema fisico de hallar la porcién de una esfera de radio r que queda sumergida al meter la esfera en agua (véase la Figura 2.1). Supongamos que la esfera esta construida con una variedad de pino que tiene una densidad de p = 0.638 gr/cm? y que su radio mide r = 10 em. ;Cudnto vale la profundidad da la que esta sumergido el polo sur de la esfer La masa M, de agua desplazada cuando la esfora se sumerge es nd°(3r — d) a M= ii a(r? — (a —1)*) dx = A Jo ; y la masa de la esfera es M, = 4nr4p/3. Aplicando el principio de Arquimedes M, = M,, obtenemos la siguiente ecuacién que debemos resolver: a(d? — 3d?r + 4r°p) =0 Figura 2.1 Porcién de una es- fora de radio r sumergida y pro- fundidad d del polo sur. 45 2.1 46 Cap. 2 RESOLUCION DE ECUACIONES NO LINEALES y 2000 1000 1000 Figura 2.2 La ctibica y = 2552 — 30d? + d*. En nuestro caso (con r = 10 y p = 0.638) la ecuacién es 7(2552 — 30d? + d*) =0. La grafica del polinomio ciibico y = 2552—30d?+d3 se muestra en la Figura 2.2 y en ella podemos ver que la solucién esta cerca de d = 12. El objetivo de este capitulo es el desarrollo de una variedad de métodos que nos permitan calcular aproximaciones numéricas a las raices de una ecuacién. Por ejemplo, podriamos usar el método de biseccién para obtener las tres raices dy = ~8.17607212, dz = 11.86150151 y d; = 26.31457061. La primera solucién dy no es una solucién aceptable del problema porque d no puede ser negativo. La tercera solucién d3 es mayor que el didmetro de la esfera, asi que no es la solucién buscada, La rafz dj = 11,86150151 esta en el intervalo [0,20] y es la solucién adecuada. Su magnitud es razonable porque nos dice que sélo se sumerge un poco més de media esfera. Métodos iterativos para resolver x = g(x) Una técnica fundamental computacién cientifica es la de iteracidn. Como su propio nombre sugiere, se trata de repetir un proceso hasta que se obtiene un re- sultado. Se usan métodos iterativos para hallar raices de ecuaciones, soluciones de los sistemas lineales y no lineales y soluciones de ecuaciones diferenciales. En esta seccién estudiaremos el proceso de iteracién que consiste en sustituir repetidamente en una misma férmula el valor previamente obtenido. Necesitamos una regla, formula o funcin g(r), con la que calcularemos los sucesivos términos, junto con un valor de partida po. Lo que se produce es una SEC. 2.1 MBTODOS ITERATIVOS PARA RE r= g(x) aT sucesién de valores {pj} obtenida mediante el proceso iterativo pry = 9(px) La sucesién se ajusta al siguiente patron Po (valor de partida) Pi = g(Po) 2 = g(Pr) Pe = 9(Pr-1) Pro = g(Pe) {Qué nos dice una sucesién interminable de ntimeros como ésta? Si los mimeros tienden a un limite, entonces podemos afirmar que tenemos algo entre manos. Pero, qué ocurre si los niimeros divergen 0 son periddicos? El ejemplo siguiente nos muestra una situacién como ésta. Ejemplo 2.1. El proceso iterative pp = 1 y pet = 1001p, para k = 0, 1, ... produce una sucesién divergente; sus primeros y centésimo términos son p: = 1001p) = (1.001)(1.000000) = 1.001000, py = 1.001p, = (1.001)(1.001000) = 1.002001, p3 = 1.001p2 = (1.001)(1.002001) = 1.003003, Pioo = 1.001 p99 = (1.001)(1.104012) = 1.105116. Este proceso puede continuarse indefinidamente y es fécil probar que se verifica que limo Pn = +00. En el Capitulo 9 veremos que la sucesién {px} es una solucién numérica de la ecuacién diferencial y' = 0.001y. Se sabe que la solucién de esta ecuacion es y(z) = €°*, De hecho, si comparamos el término centésimo de Ia sucesién con y(100), vemos que piog = 1.105116 © 1.105171 =e! = y(100). En esta seccidn estudiaremos qué tipos de funciones g(a) producen suce- siones {p,} que convergen. Puntos fijos Definicién 2.1 (Punto fijo). Un punto fijo de una funcién g(x) es un niimero real P tal que P = g(P) a Geométricamente hablando, los puntos fijos de una funcién g(x) son los puntos de interseccién de la curva y = g(x) con la recta y = 48 Cap. 2 RESOLUCIGN DE ECUACION Definicién 2.2 (Iteracién de punto fijo). La iteracién py41 = 9(Pn) para n=0, 1,... se llama iteracién de punto fijo a Teorema 2.1. Supongamos que g es una funcidn continua y que {pn }%2o &s una sucesién generada por iteracién de punto fijo. Si lim, 5.0 Pn = P, entonces P es un punto fijo de g(x). Demostracién, Si limy-s.0 Pn = P, entonces limn+. Pn41 = P. Usando esto, la continuidad de g y la relacién pay1 = 9 (Pn), deducimos que (2) gP)=9 (sim, Pn) = lim 9(?n) = lim posi =P. Por tanto, P es un punto fijo de gi Ejemplo 2.2. Consideremos la iteracién convergente po=05 ¥ Pry =e parak = 0,1, Podemos calcular los diez primeros términos 500000 — 0.606531 0.606531 — 9.545239 5259 — 0.579703 Seee ans =10'56 7560 peas —10/9600077 Po = Pio La sucesién converge y, calculando un poco mas, se tiene lim py = 0.567143... De esa manera, lo que hemos obtenido es una aproximacin al punto fijo de la funcién g(x) = e~*. . Los dos siguientes teoremas establecen condiciones para la existencia de un punto fijo y para la convergencia del proceso de iteracién de punto fijo. Teorema 2.2. Supongamos que g € Ca, b. (3) Si la imagen de la aplicacién y = g(x) verifica que y € [a,b] para cada punto x € [a,6], entonces g tiene un punto fijo en [a,b]. (4) Supongamos, ademas, que g'(«) esta definida en (a,b) y que ig'(x)| <1 para todo x € (a, 6), entonces g tiene un tinico punto fijo P en [a,b]. SEC. 2.1 METODOS ITERATIVOS PARA RESOLVER x = g(x) 49 Demostracion de (3). Si g(a) = a0 g(b) = b, entonces la conclusion es cierta. Supongamos, entonces, que | lores g(a) y g(b) verifican que g(a) € (a,b) y que g(b) € [a,b). La funcion f(x) = x — g(x) tiene la siguiente propiedad f(a)=a-gla)<0 y f(b) =b—glb) >0. Aplicando el Teorema 1.2, el teorema del valor intermedio, a f(x) y la constante L = 0, deducimos que existe un mimero P en (a,b) tal que {(P) = 0. Por tanto, P =4(P) y Pes el punto fijo de g(x) que queriamos encontrar. Demostracién de (4). Ahora debemos probar que la solucién es tinica. Supon- gamos, por el contrario, que existen dos puntos fijos distintos P; y P;. Aplicando el Teorema 1.6, el teorema del valor medio, deducimos que existe un miimero d € (a,b) tal que 6) sag =$ A continuacién, usamos que g(P;) = Pr y que g(P2) = P2 para simplificar el miembro derecho de la relaciéu (5) y obtener Ps — P, I= pap = Jo que contradice la hipétesis hecha en (4) de que |g/(a)| < Len (a,6). Ast que no es posible que existan dos puntos fijos y, por tanto, bajo la condicién dada en (4), g(x) tiene un tinico punto fijo P en {a, 8). . Ejemplo 2.3. Vamos a aplicar el Teorema 2.2 para probar rigurosamente que glx) = cos(z) tiene un tinico punto fijo en [0, 1]. Claramente, g € C[0, 1]. Ademés, g(x) = cos(zr) es una funcién decreciente en [0, 1), por lo que su imagen 9((0, 1}) es [cos(1), 1] C [0,1]. Esto prueba que se cumple a condicién (3) del Teorema 2.2, asi que g tiene un punto fijo en [0, 1]. Finalmente, si x € (0,1), entonces |g'(x)| = | — sen(x)} = sen(«) < sen(1) © 0.8415 < 1. Por consiguiente, la condicién (4) del Teorema 2.2 se cumple y el punto fijo de g en [0, 1] es tnico. . Vamos ahora a establecer el teorema que se suele usar para determinar si el proceso de iteracién de punto fijo dado en (1) produce una sucesién convergente o divergente. Teorema 2.3 (Teorema del punto fijo). Supongamos que (i) g, 9’ € Cla, }], (ii) K’ es una constante positiva, (iii) po € (a,b) y (iv) g(x) € [a,6] para todo x € [a,b]. Entonces hay un punto fijo P de g en [a, 0] (6) Si |g'(x)| < K <1 para todo « € [a,b], entonces P es el tinico punto fijo de g en [a,b] y la iteracién py = g(pn—1) converge a dicho punto fijo P. En este caso, se dice que P es un punto fijo atrac 0. 50 CAP. 2 RESOLUCION DE ECUACIONES NO LINEALES [t= IP -p—>|-—— P- | —> — qa Pp P Poe 0) Figura 2.3. La relacién entre P, po, pi, |P — pol, ¥ |P-pil- (7) Si |g'(P)| > Ly po # P entonces la iteracién py = g(pn—1) no converge a P. En este caso, se dice que P es wn punto fijo repulsivo y la iteracién presenta divergencia local. Observacién 1. Como g! es continua en un intervalo al que pertenece P, podemos usar hipétesis més simples en (6): que |g'(P)| <1 y que po esta suficientemente cerca de P. Demostracién. El apartado (3) del Teorema 2.2 y las hipstesis (i) y (iv) garan- tizan que g tiene un punto fijo P en [a,b]. Para demostrar (6) empecemos notando que, usando (3) y (4), las hipétesis (i)-(iv) implican, por el Teorema que el punto fijo de g en [a, b] es tinico. De (iii) y (iv) se deduce, por induccién, que los puntos {py} estan todos en [a,b]. Seguidamente, empezando con po, aplicamos el Teorema 1.6, el teorema del valor medio, para deducir que existe un valor co € (a,b) tal que |P ~ pal = |gP) — g(po)| = |9'(e0) P — po) | 8 7 : ®) o(co)||P — pol < KP — pol

1, : Kn, - (14) |P = pn| < K'lpr=Pol nara todo n> 1. 1-K Interpretacién grdafica de la iteracién de punto fijo Puesto que buscamos un punto fijo P de la funcién g(), es necesario que la curva g(x) y la recta y = x se corten en el punto (P, P). Los dos tipos simples de sracién convergente, monétona y oscilante, se muestran en la Figura 2.4 (a) y (b), respectivamente. 52 Cap. 2 RESOLUCION DE ECUACIONES NO LINEALES Ny ex <> (@y Py) Figura 2.4 (b) Convergencia oscilante si —1 < g'(P) < 0. (Pp. 8(P)) x Figura 2.5 (a) Divergencia monétona si 1 < g'(P) Visualicemos el proceso: empezamos en po sobre el eje OX y nos move- mos verticalmente hasta el punto (p9.p1) = (po; 9(Po)) que esta sobre la curva y = g(x). Entonces nos movemos horizontalmente desde el punto (po, p1) hasta el punto (p1,p1) sobre la recta y = x. Finalmente nos movemos otra vez ver- ticalmente hasta p; sobre el eje OX. Usamos la recursion pryi = g(Pn) para construir el punto (pn, Pn 41) sobre la curva, entonces un movimiento horizontal nos Heva al punto (Pn+1,Pn+1) Sobre la recta y = x y un movimiento vertical termina ahora en p,,1 sobre el eje OX. La situacién se muestra en la Figura 2.4. Si |g'(P)| > 1, entonces la iteracién p41 = 9(pn) produce una sucesién que se aleja de P. Los dos tipos simples de iteracién divergente, monétona y oscilante, se muestran en la Figura 2.5 (a) y (b), respectivamente. 2.1 METODOS ITERATIVOS PARA RESOLVER x = g(x) 53 “ Figura 2.5 (b) Divergencia oscilante si g'(P) < -1. Ejemplo 2.4. Consideremos la iteracién p41 = g(Pn) cuando la funcién viene dada por g(«) = 1+ ~—22/4. Los puntos fijos pueden determinarse resolviendo la ecuacién z = g(x), cuyas soluciones (los puntos fijos de g) son z = —2y x =2. La derivada de la funcién es g'(«) = 1—:x/2 y los dos casos que tenemos que considerar son: Caso (i): P=-2 Caso (ii): Inicio po= — 2.05 Inicio pr = — 2.100625 | po= —2.20378135 | pa= ~ 2.41794441 | 1.99999996 dim pu = - 00. tim Pa Como |g'()| < } en [1,3], por el Como |g'(x)| > $ en [-3,-1], porel | e | Teorema 2.3, la sucesién converge a | Teorema 2.3, la sucesién no conver aP=~-2 P=2. El Teorema 2.3 no dice qué ocurrir si |g/(P)| = 1. El siguiente ejemplo se ha construido especialmente para que {pn} converja cuando po > P y diverja cuando pp < P. Ejemplo 2.5. Consideremos la iteracién pri = g(Pn) cuando la funcién viene dada por g(r) = 2(a—1)/? para « > 1. Esta funcién sélo tiene un punto fijo P = 2 y su derivada es g'(zz) = 1/(«—1)*/2, de manera que g/(2) = 1 y no podemos aplicar el Teorema 2.3. Consideremos los dos casos segtin que el punto de partida esté a la derecha o a la izquierda de P = 2. 54 Cap. 2. RESOLUCION DE ECUACIONES NO LINEALES Caso (i): Inicio po = 1.5, Caso (ii): Inicio po = 2.5, pi = 141421356 Pi = 2.44948974 po = 1.28718851 40789513 p3 = 107179943 2.37309514 pa = 0.53590832 2.34358284 Ps = 2(—0.46409168)'/? lim pa =2. Como pi esta fuera del dominio de Esta sucesién converge muy lenta- g(2), el término ps no puede calcu- mente a P = 2; de hecho, Piooo = larse. 2.00398714. Consideraciones sobre el error absoluto y el relativo En el Ejemplo 2.5, caso (ii), la sucesién converge muy lentament 1000 iteraciones los tres siguientes términos son ; después de Piooo = 2.00398714, — pioo1 = 2.00398317 yy — piooz = 2.00397921. Esto no deberia preocuparnos; después de todo, jpodriamos calcular unos pocos miles de términos mds para encontrar una aproximacién mejor! Pero, jcudl es el criterio para detener una iteracién? Si usamos la diferencia entre do: consecutivos, obtenemos |2.00398317 — 2.00397921} {Proo1 — Pro02 0.00000396. Sin embargo, sabemos que el error absoluto de la aproximacién pyo99 €s |P — prooo| = |2-00000000 — 2.00398714| = 0.00398714, que resulta ser unas mil veces mayor que |pioo1 ~ Pioo2|- Esto prueba que la cercanfa entre dos términos consecutivos no garantiza que hayamos obtenido una precisidn alta; sin embargo, éste (0 bien el error relativo) es usualmente el nico criterio del que se dispone y, a menudo, es el que se usa para determinar cuando debe detenerse un proceso iterativo. Programa 2.1 (Iteracién de punto fijo). Aproximacién a una solucién de la ecuacién x = (x) mediante la iteracién p41 = (Pn) realizada a partir de una aproximacién inicial po. function [k,p,err,P]=fixpt(g,p0,tol,max1) % Datos - g es la funcién de iteracién - pO es el punto de partida Sec. 2.1 Méropos ITERATIVOS PARA RESOLVER & = g(x) 55 % - tol es la tolerancia % - maxi es el niimero m4ximo de iteraciones % Resultados h - k es el ntimero de iteraciones realizadas % - p es la aproximacién al punto fijo % - err es la diferencia entre dos términos consecutivos % - Pes la sucesién {pn} completa P(1)= po; for k=2:maxt P(k)=feval(g,P(k-1)); err=abs(P(k)-P(k-1)); relerr=err/(abs(P(k))+eps) ; p=P(k); if (err 1 en este intervalo. Pruebe que si un punto fijo P y las aproximaciones iniciales po y Pi = g(po) estén en (a,6), entonces |Ey| = |P — pil > |P — pol = |Zal. Esto probaria el apartado (7) del Teorema 2.3 (divergencia local). . Consideremos el proceso de iteracién de punto fijo con g(x) = —0.00012? + x y po =1. (a) Pruebe que pp > py > +++ > Pn > Pay >++ (b) Pruebe que pp > 0 para todo n. (c) Puesto que la sucesién {p,} es decreciente y esta acotada inferiormente. tiene limite. ,Cudl es ese limite? . Consideremos el proceso de iteracién de punto fijo con g(x) = 0.52 + 1.5 y Po = 4 (a) Pruebe que el punto fijo es P = 3. (b) Pruebe que |P — pn| = |P — pa—i|/2 para n = 1,2, 3. (c) Pruebe que |P — pn| = |P — pol/2” para n = 1,2,3. 2/2. (a) Halle lo que vale |pe+1 — pal/Ipesil- (b) Discuta lo que ocurriria si usdramos el error relative como tinico criterio de parada en el Programa 2.1. Razone por qué es una ventaja tener g!(P) * 0 en un proceso de iteracién de punto fijo. 2.2 SEC. 2.2 Los METODOS DE LOCALIZACION DE RAiCES 57 Algoritmos y programas 1. Use el Programa 2.1 para aproximar los puntos fijos (si es que hay alguno) de cada una de las siguientes funciones. Las respuestas deben tener 12 cifras decimales exactas. Dibuje ademas una gréfica de cada funcidn y de la recta y =x que muestre claramente los puntos fijos que haya. (a) g(x) = 2% — 304-20? +2 (b)_ g(x) = cos(sen(zx)) (c) glx) = x? —sen(x + 0.15) (d) g(a) = 20052) Los métodos de localizacién de rafces Consideremos un tema de interés familiar. Supongamos que ahorramos dinero haciendo depésitos mensuales de P euros a una tasa de interés anual I que se compone cada mes; entonces la cantidad total A de euros acumulada después de N depésitos es i ave Tyan () 4=P+P(i+5)+P(1+5) + +P (143) : El primer término del miembro derecho de la expresién (1) es el tiltimo depésito; el segundo es el pentiltimo depésito cuya contribucién, habiendo acumulado un periodo de interés, es P (1 + ;4) euros; el antepentiltimo depésito ha acumulado dos perfodos de interés y su contribucién al total es de P (1+ 4)” euros, y asi sivamente. Finalmente, el primer depdésito, que ha acumulado interés du- . NaI rante N — 1 periodos, contribuye con P (1+ 4) euros al total. Recordemos la formula de la suma de los N términos de una progresién geométrica: (2) l+rtrtr Escribiendo (1) como I T\2 r\N-1 a=P(1+(148)+(1+5) +4 (145) y sustituyendo r = (1+ I/12) en (2) obtenemos 58 Cap. 2 RESOLUCION DE ECUACIONES NO LINEALES que podemos simplificar para obtener la f6rmula del capital acumulado cuando el interés se compone mensualmente: (3) E fa ((+8) 3). Jsaremos esta formula en el siguiente ejemplo, donde tendremos que usarla varias veces para hallar la respuesta, Ejemplo 2.6. Ahorramos 250 curos al mes durante 20 afios y deseamos que el capital acumulado al final de estos 20 afios sea de 250000 euros. interés I debemos invertir el dinero para obtener ese resultado? Si fijamos entonces A es funcién tinicamente de I; 0 sea, A = A(Z). Empezaremos con dos tentativas, Ip = 0.12 ¢ fr = 0.13, y realizaremos una sucesién de calculos para ir estrechando el margen de la respuesta. Empezando con Ip = 0.12 obtenemos 250 O12 aes 40.12) = TB (( +2) - ) = 247314. Puesto que este valor es menor que el deseado, probamos con fy = 0.13: , 250 0.13\4° 5 A013) = 75 (+ *3) -1) = 282311. Este es un poco alto, asf que probamos con la media de ambos I . 250 0.125) 74° 40.125) = ES (( + ) —1) = 264623. 0.125: Este es, de nuevo, un poco alto, por lo que deducimos que el valor deseado debe estar en el intervalo (0.12, 0.125] y probamos, ahora, con su punto medio [3 = 0.1225: 7 250 0.1228) 4° : A(01225) = T555749 (( + oe) ~1) = 255803. Este valor es mayor que lo que deseamos, asf que ahora estrechamos el intervalo a (0.12, 0.1225] y usamos su punto medio I, = 0.12125 para nuestro tiltimo calculo: 250 0.12125) *"° A(0. 5) = ——— —1) =251518. A(0.12125) aattera ((1+ 7 ) 251518, Podemos seguir realizando iteraciones hasta obtener tantas cifras significativas de la solucién como deseemos. El propésito en este ejemplo era encontrar el valor de I para el que la funcién A(J) es igual a un cierto valor especificado L, 0 sea, hallar una solucién de la ecuacién A(I) = L. La practica habitual es pasar L al primer miembro y resolver la ecuacién A(I) — L = 0. . SEC. 2.2 LOS METODOS DE LOCALIZACION DE RAICES 59 (a, f(a) (a, fl@) (ofl) i + a b a b (fO) (b. f(b)) (6, f(b)) (a) Si f(a) y fc) tienen sig- nos opuestos, entonces se recorta por la derecha. (b) Si fic) y flO) tienen sig- nos opuestos, entonces se recorta por la izquierda. Figura 2.6 El proceso de decisién en el método de biseccién, Definicién 2.3 (Rafz de una ecuacién, cero de una funcién). Supon- gamos que f(x) es una funcidn continua. Cualquier mimero r tal que f(r) = 0 se Hama rafz de la ecuacién f(x) = 0; también se dice que r es un cero de la funcién f(z). a 0 tiene dos raices reales 7) = 0. 2 + Ban — Por ejemplo, la ecuacién 2x? + 5a — 3 '> = —3, mientras que la funcidn correspondiente f(x) = 0.5 yr =-3. (2a ~ 1)(x +3) tiene dos ceros reales r) El método de biseccién de Bolzano En esta seccién desarrollamos nuestro primer método de localizacién para hallar ceros de funciones continuas. Debemos empezar con un intervalo de partida [a, 6] en el que f(a) y f(b) tengan distinto signo. Entonces, por el Teorema 1.2, el teorema del valor intermedio, la grafica y = f(x) cruzaré el eje OX en un r que est en dicho intervalo (véase la Figura 2.6). El método de n consiste en ir acercando sistematicamente los extremos de] intervalo hasta que obtengamos un intervalo de anchura suficientemente pequefia en el que se localiza un cero. El proceso de decisién para subdividir el intervalo consiste en tomar el punto medio del intervalo c = (a + b)/2 y luego analizar las tres posibilidades que pueden darse: cero x 60 Cap. 2 RESOLUCION DE ECUACIONES NO LINEALES (4) Si f(a) y f(c) tienen signos opuestos, entonces hay un cero en [a, ¢]. (5) Si f(c) y f(b) tienen signos opuestos, entonces hay un cero en [c, b]. (6) Si f(c) =0, entonces ¢ es un cero. Si ocurre bien el caso (4), bien el (5), (supondremos de hecho que, como sucede en la mayorfa de la aplicaciones practicas, el caso (6) no se da) entonces hemos encontrado un intervalo la mitad de ancho que el original que contiene una rafz (véase la Figura 2.6). Para continuar el proceso, renombramos el nuevo intervalo mds pequeio también como [a,b] y repetimos el proceso hasta que el intervalo sea tan pequeiio como deseemos. Puesto que el proceso de biseccién genera una sucesién de intervalos encajados, con sus correspondientes puntos medios, usaremos la siguiente notacién para tener un registro de los detalles del proceso: [a9, bo] es el intervalo de partida y co = 22442 es su punto medio. [a1,01] es el segundo intervalo en el que se localiza un cero y ¢ es su punto medio; el intervalo (a1, b;] es la mitad de ancho que [a9, b] (7) Después de Hegar al intervalo [aq, bn}, en el que también se localiza un cero y cuyo punto medio es cn, se construye el intervalo [an41,bn+41]; en el que también se sigue localizando un cero, y que mide la mitad que [ans bn]. Dejamos como ejercicio (véase el Ejercicio 8) el demostrar que la suc de los extremos izquierdos de estos intervalos es creciente y que la sucesién de los extremos derechos es decreciente; es decir, (8) Wy Sa S++ San $+ Sin Se Sb S bo, donde ¢, = 2e#% y si f(an41)f(On+1) <0, entonces (9) [an+1,6n41] = [@n,€n] 0 bien para cada n. an+1s Ont) Teorema 2.4 (Convergencia del método de biseccién). Supongamos que f € Cla, 0] y que f(a) y f(b) tienen signos distintos. Sea {cn }9%9 la sucesion de puntos medios de los intervalos generados por el método de biseccién dado en (8) y (9). Entonces existe un ntimero r € [a,6] tal que f(r) = 0 y, ademas, b-a Qrti (10) nl < para n=0, 1, ..., en particular, la sucesién {c,,}2%9 converge al cero x =r; esto es, (11) lim ¢n = n00 Sec. 2.2 Los Miropos DE LOCALIZACION DE RACES 61 Figura 2.7. La raiz ry el punto medio cn de [an, bn] en el método de biseccidn. Demostracién. Observemos que las sucesivas anchuras de los intervalos se ajus- tan al siguiente patron: by — bay 2 b- by — bya = r= ot ao Dejamos como ejercicio el probar, usando induccién matematica, que bo = a0 (12) by = dn = Ahora, la sucesién (a) es creciente y esté acotada superiormente, luego tiene limite a; la sucesién (by) es decreciente y est acotada inferiormente, luego tiene limite b. Tomando limite cuando n + oo en (12) deducimos que a y 6 deben coincidir; sea r = a = b (véase el Ejercicio 8). Por continuidad tenemos que f(r) = 0, luego r es un cero de f que esté en cada intervalo [an, bn]. Como el punto medio c, también esté en el intervalo [an, bn], la distancia entre cp y r no puede ser mayor que la mitad de la anchura de dicho intervalo (véase la Figura 2.7). En consecuencia, (13) Ir-enl < para todo n. Combinando (12) y (13), resulta bo (14) Ir < toe para todo n. Un argumento parecido al dado en el Teorema 2.3 muestra que (14) implica que la sucesién {cn}229 converge ar, lo que completa la demostracién. . Ejemplo 2.7. La funcién h(x) = esen(z) aparece en el estudio de vibraciones forzadas no amortiguadas. Hay que hallar el valor de « que esta dentro del intervalo (0, 2] y en el que la funcién vale h(x) = 1 (el angulo z en Ia funcién sen(«) se mide 62 Cap. 2 RESOLUCION DE ECUACIONES NO LINEALES Tabla 2.1 — Resolucién de x sen(x) — 1 = 0 por el método de biseccién. Extremo ] Punto Extremo Valor de la k | izquierdo, ax medio, ck derecho, bi funcién, f(ck) of o 1 2. 0.158529 eo 15 20 0.496242 2} 1.00 1.25 1.50 0.186231 3 1.000 1.125 1.250 0.015051 4 1.0000 1.0625 1.1250, —0.071827 5 1.06250 1.09375 1.12500, —0.028362 6 1.093750 1.109375 1.125000 —0.006643 7 1.1093750 11171875 1.1250000 0.004208 8 1.10937500 1.11328125 1.11718750 —0.001216 en radianes). Usamos el método de biseccién para hallar un cero de la funcién f(z) = xsen(x) — 1. Empezando con ap = 0 y by = 2, calculamos (0) =—1.000000 y — f(2) = 0.818595, de manera que hay una raiz de f(z) = 0 en el intervalo [0,2]. En el punto medio co = 1 tenemos que f(1) = —0.158529, luego la funcién cambia de signo en el intervalo {¢o, bo) = [1,2)- Para seguir, recortamos el intervalo por la izquierda y ponemos a, = co y by = bo. El nuevo punto medio es c; = 1.5 y se tiene f(c1) = 0.496242. Puesto que f(1) = —0.158529 y f(1.5) = 0.496242, la rafz esté en [ar,c1] = [1.0,1.5] y la iguil isidn es recortar por la derecha y poner az = a1 y by = cy. De esta forma obtenemos una sucesién {c,} que converge ar & 1.114157141. Vemos los calculos de los ocho primeros pasos en la Tabla 2.1. . Una de las virtudes del método de biseccién es que la férmula proporciona una estimacién predeterminada de la precisién de la solucién calculada. En el Ejemplo 2.7 la anchura del intervalo inicial era by — a9 = 2. Supongamos que hubiéramos continuado la Tabla 2.1 hasta la iteracién trigésimo primera; entonces, por (10), la cota del error seria |B3;| < (2—0)/2°? = 4.656613 x 1071. Por tanto, eg; serfa una aproximacién ar con nueve cifras decimales de pri El mimero N de bisecciones sucesivas que nos garantizaria que el punto medio en es una aproximacidn a un cero con un error menor que un valor prefijado 6 es In(b — a) ~ In(3) 15 Pease (15) in) Sgc. 2.2. LOS METODOS DE LOCALIZACION DE RAICES 63 (donde ent(z) denota la parte entera de un ntimero x). La demostracién de esta formula queda como ejercicio. Otro algoritmo popular es el método de la régula falsi 0 método de la posicién falsa, Una de las razones de su introduccién es que la velocidad de convergencia del método de biseccidn es bastante baja. Como antes, suponga- mos que f(a) y f(b) tienen distinto signo. En el método de biseccin se usa el punto medio del intervalo (a, 6] para llevar a cabo el siguiente paso. Suele conseguirse una aproximacién mejor usando el punto (c,0) en el que la recta secante L que pasa por los puntos (a, f(a) y (b, f(b) cruza el eje OX (véase la Figura 2.8). Para hallar el punto c, igualamos dos férmulas para la pendiente m de la recta L: £0) = fla) (16) m= at que resulta de usar los puntos (a, f(a) y (b, f(b), y (a7) que resulta de usar los puntos (c,0) y (b, f(b). Igualando las pendientes que aparecen en (16) y (17), tenemos f() ~ f(a) _ 0~ f(b) b-a -—b? de donde c puede despejarse facilmente, obteniéndose 5 L06-4) F() — Fla)" Las tres posibilidades son las mismas que antes: (a8) (19) Si f(a) y f(0) tienen distinto signo, entonces hay un cero en (a, ¢]. (20) $i f(c) y f(b) tienen distinto signo, entonces hay un cero en [c, b). (21) Si F(c = 0, entonces ¢ es un cero de f. Convergencia del método de la régula falsi La férmula (18) junto con el proceso de decisién descrito en (19) y (20) se usa para construir una sucesién de intervalos {[@n,bn]} cada uno de los cuales contiene un cero. En cada paso la aproximacién al cero obtenida es: _ FGn)(On Fn) = Flan (22) Cn = dn 64 Cap. 2 RESOLUCION DE ECUACIONES NO LINEALES (a, fla)) (a, fla)) b fo) y=fo) ~ (bf) ,f0) (a) Si fla) y fic) tienen sig- (b) Si f(c) y f(b) tienen sig- nos opuestos, entonces se nos opuestos, entonces se recorta por la derecha. recorta por la izquierda. Figura 2.8 El proceso de decisién para el método de la régula falsi. Figura 2.9 Un extremo estacionario en el método de la régula falsi. y puede probarse que la sucesién {cn} converge a un cero r de la funcién. Sin embargo, hay que prestar atencién al siguiente hecho: aunque la anchura del intervalo by — ay se hace més pequeiia, es posible que no tienda a cero; si la curva y = f(z) es convexa cerca de (r,0), entonces uno de los extremos an 0 bn permanece estacionario y el otro tiende a la solucion (véase la Figura 2.9). Vamos a hallar la solucién de x sen(«) — 1 = 0 usando el método de la régula falsi; observaremos que converge més répidamente que el de biseccién y veremos también que {by ~ dn}%29 no tiende a cero. Ejemplo 2.8. Vamos a usar el método de la régula falsi para hallar la raiz de zsen(zr) — 1 = 0 que estd en el intervalo [0,2] (de nuevo con el dangulo « medido en radianes). Sc. 2.2 Los METODOS DE LOCALIZACION DE RA‘CES 65 Tabla 2.2 Resolucién de a sen(z_ =0 por el método de la régula falsi. Extremo Punto Extremo Valor de la k | — izquierdo, ax intermedio, cx derecho, bx funcién, (ck) 0 0.00000000 1.09975017 2.00000000 —0.02001921 1 1.09975017 112124074 2.00000000 0.00983461 2 1.09975017 1.11416120 1.12124074 0.00000563 3 1.09975017 111415714 1.11416120 0.00000000 Empezando con ay = 0 y by = 2, tenemos f(0) = —1.00000000 y f(2) = 0.81859485, de manera que hay una raiz en (0,2). Usando la formula (22), tenemos 0.81859485(2 - 0) @Usissees ED Bae co =2 La funcién cambia de signo en el intervalo [¢o, bo] = [1.09975017, 2], asf que recorta- mos por la derecha y ponemos ay = cy y bi = by. Usamos otra vez la formula (22) para hallar la siguiente aproximaci = 112124074 S(c1) = 0.00983461. Ahora f(z) cambia de signo en [a1,c1] = [1.09975017, 1.12124074], asf que la si- guiente decisién es recortar por la derecha y poner a2 = a1 y by = cy. Estos calculos se recogen en la Tabla 2.2. . El criterio de parada usado en el método de biseccién no es aitil para el método de la régula falsi porque podria producir iteraciones sin fin. En este caso se.usan tanto la cercania entre si de dos aproximaciones sucesivas |¢, ~ ¢n—1| como el tamaiio |f(cn)|; asi se hace en el Programa 2.3. En la seccién 2.3 discutiremos las razones de esta eleccién. Programa 2.2 (Método de biseccién). Aproximacién a una raiz de la | ecuacién f(x) = 0 en el intervalo [a, 6]. Puede usarse sélo si f(r) es continua y f(a) y f(b) tienen distinto signo. function [c,err,yc]=bisect(f,a,b,delta) % Datos h - f es la funcién, introducida como % una cadena de caracteres ’f’ a - ay b son el extremo izquierdo y el extremo derecho 66 CAP. 2 RESOLUCION DE ECUACIONES NO LINEALES - delta es la tolerancia Resultados - ¢ es el cero ~ ye=f(c) - err es el error estimado de la aproximacion a c ya=feval (f,a); yor feval (f,b) ; if ya*yb>0,break,end max1=1+round((log(b-a)-log (delta) )/log(2)) ; for k=1:max1 c=(atb) /2; ye=feval(f,c); if yo== a= b=c; elseif yb+yc>0 if b-a < delta, break, end end c=(atb)/2; err=abs(b-a) ; yce=feval(f,c); Programa 2.3 (Método de la régula falsi o de la posicién fal- sa). Aproximacidn a una rafz de la ecuacién f(x) = 0 en el intervalo [a, b} Puede usarse sélo si f(z) es continua y f(a) y f(b) tienen distinto signo. function [c,err,yc]=regula(f,a,b,delta,epsilon,max1) % Datos % - f es la funcion, introducida como una h una cadena de caracteres ’f’ h - ay b son el extremo izquierdo y el extremo derecho % - delta es la tolerancia para el cero h - epsilon es la tolerancia para el valor de f en el cero % - maxi is el ntimero maximo de iteraciones % Resultados a - ¢ es el cero % - ye=f(c) Sec. 2.2 Los METODOS DE LOCALIZACION DE RAICES 67 h - err es el error estimado de la aproximacién a c ya=feval(t,a); yb=feval (f,b); if yatyb>0 disp(’Note: f(a)*£(b)>0’), break, a=c; yaryc; end dx=min (abs (dx) ,ac); if abs(dx) 3, entonces f (ao) f(bo) < 0. En consecuencia, en el intervalo fag, bo] el método de biseccién convergera a uno de los tres ceros. Si ay < 1 y bo > 3 se eligen tales que cn = 244% no es igual al, nia 2nia 3 para ningtin n > 1, entonces el método de biseccién nunca convergerd a {cual 0 cuales coros? por qué? Sec, 2.3 APROXIMACION INICIAL Y CRITERIOS DE CONVERGENCIA 69 15. Si un polinomio f(«) tiene un nimero impar de ceros en un intervalo [ao, bo] y cada uno de los ceros es de multiplicidad impar, entonces f(a) f(bo) < 0 y el método de biseccién convergerd a uno de los ceros. Si ag < 1 y bo > 3 se eligen de manera que cn = 2»£5 no es igual a ninguno de los ceros de f(z) para ningtin n > 1, entonces el método de biseccién nunca convergeré a jcual © cudles ceros? jpor qué? Algoritmos y programas 1. Halle una aproximacién (exacta hasta la décima cifra decimal) a la tasa de interés I con la se conseguiria un capital acumulado total de 500000 euros si se realizaran 240 depésitos mensuales de 300 euros 2. Se construye una esfera de madera de radio r = 15 cm con una variedad de roble blanco que tiene una densidad p = 0.710 gr/cm®. ;Cuédnto de la esfera quedaré sumergido (preciso hasta la octava cifra decimal) cuando la ponemos en agua? 3. Modifique los Programas 2.2 y 2.3 para obtener como resultado una matriz, andloga a las Tablas 2.1 y 2.2, respectivamente (0 sea, la primera fila de la matriz deberia ser [0 a9 co 0 f(co)])- 4. Use su programa anterior para aproximar las tres raices positivas mas pequefias de la ecuacién x = tan(z) (exactas hasta la octava cifra decimal). 5. Un plano corta una esfera de radio unidad en dos trozos de manera que uno de ellos tiene un volumen triple que el volumen del otro. Determine la distancia x del plano al centro de la esfera (con una precisién de 10 cifras decimales). Aproximaci6n inicial y criterios de convergencia Los métodos de localizacién dependen de la determinacién de un intervalo inicial {a, b] en el que f(a) y f(b) tengan signo distinto. Una vez encontrado este intervalo, no importa lo grande que sea, podremos empezar a iterar hasta que encontremos una ra{z con la precisién deseada. Por esta raz6n se dice que estos métodos son globalmente convergentes. Sin embargo, si f(x) = 0 tiene varias raices en [a,b], entonces debemos encontrar un intervalo de partida distinto para hallar cada raiz y no suele ser facil hallar estos intervalos mds pequefos en los que el signo de f(a) cambia. En la Seccién 2.4 desarrollaremos el método de Newton-Raphson y el método de la secante para resolver f(r) = 0. Estos dos métodos requieren, como garantfa de su convergencia, que el punto inicial esté cerca de la raiz, por lo que se dice que son localmente convergentes. A cambio, suelen converger mas répidamente que los métodos globales, de manera que existen algoritmos 70 Cap. 2 RESOLUCION DE ECUACIONES NO LINEALES hibridos que empiezan con un método de convergencia global y, cuando las ite- raciones nos han Ilevado cerca de la raiz, cambian a un método de convergencia local. Si el cdlculo de las raices de una ecuaci6n es una parte de un proyecto mas amplio, entonces se sugiere tomarselo con calma y empezar por dibujar la grafica de la funcién. A la vista de la curva, podemos tomar decisiones basadas en su aspecto (concavidad, pendiente, conducta oscilatoria, extremos locales, puntos de inflexion, ete.); pero, lo que es todavia mas importante, si la grafica permite conocer, 0 al menos estimar, las coordenadas de los puntos, entonces podemos determinar la localizacién aproximada de las raices y usar estas aproximaciones como valores iniciales de nuestros algoritmos. Debemos, no obstante, proceder con cautela. Los paquetes informaticos utilizan programas graficos mds 0 menos sofisticados. Supongamos que usamos un computador para dibujar la curva y = f(x) con x en (a,6]. Tipicamente, el intervalo se divide en N partes iguales, cuyos extremos son N + 1 puntos equiespaciados a = &g < 1, <-- < ty = b, y luego se calculan los valores Ux = f (ax). Entonces cada pareja de puntos adyacentes (4-1, yx—1) ¥ (4k, Yk), para k = 1, 2,..., N, se unen en el dibujo mediante una linea recta o una curva adecuada. Tiene que haber un ntimero suficiente de puntos, de tal manera que no perdamos ninguna raiz que pueda estar en una porcion de la curva donde, por ejemplo, la funcién cambie muy répidamente. Si f(z) es continua y dos puntos adyacentes (zt,-1,yx—1) ¥ (2x, ye) estan situados en lados distintos del eje de abscisas, entonces el teorema del valor intermedio garantiza que hay al menos una raiz en el intervalo [z,_1, 2]. Pero si hay una raiz, o incluso varias rafces proximas entre sf, en el intervalo [a,—1, 2%] y los puntos adyacentes (4-1, Ye—1) y (xx, ye) estdn en el mismo lado del eje de abscisas, entonces el dibujo realizado por el computador no nos indicara que en dicho intervalo hay rafces; este dibujo no sera una buena representacién de la grafica de la funcién f. Este fendmeno suele darse con funciones que tienen rafces muy préximas entre si, funciones cuya grafica parece que s6lo toca al eje OX pero no lo cruza; una raiz doble seria un ejemplo de esta situacién, otro ejemplo de este fendmeno seria una raiz muy cercana a una asintota vertical de la grafica de la funcién. Es necesario que tengamos en cuenta estas caracteristicas de una funcién a la hora de aplicar un algoritmo numérico de calculo de raic Finalmente, volviendo al ejemplo citado antes, cerca de dos raices proximas entre so de una raiz doble en el intervalo [2z, 1, x4], puede ocurrir que la gréfica de la curva entre los puntos (214-1, yk—-1) ¥ (ta,Yx) Oftecida por el computador no cruce el eje de abscisas. Si |f(x,)| es menor que una tolerancia ¢ prefijada (0 sea, f(x) * 0), entonces podemos pensar que a, es una raiz aproximada. Pero podria ocurrir que los valores de f estuvieran muy cerca de cero para un rango amplio de su variable x cerca de ax, con lo que xx podria no estar cerca de una raiz. Por ello es usual aiiadir, en esta situacién, el requisito de que la pendiente cambie de signo cerca de (r,,yx); esto es, que my. = BM ym, = Yetta SEC. 2.3. APROXIMACION INICIAL Y CRITERIOS DE CONVERGENCIA 1 Tabla 2.3 Localizacién aproximada de las races. Valores de la funcién | Diferencias en las y Cambios significativos tk) Yet uk Ye ~ ka | Yeti = Ue en f(x) 0 f'(x) =1.2] —3.125 | -0.968 2.157 1.329 ~0.9 | —0.968 | 0.361 1.329 0.663 | f cambia de signo en [14~1, 2%) —0.6|} 0.361] 1.024 0.663 0.159 —0.3) 1.024] 1.183 0.159 | —0.183_| f’ cambia de signo cerca de xy 0.0] 1.183} 1.000 —0.183 0.363, 0.3) 1.000] 0.637 —0.363 —0.381 0.6 0.637] 0.256 —0.381 | -0.237 0.9] 0.256| 0.019 =0.237 0.069 _| f" cambia de signo cerca de 2x 1.2] 0.019 0.088 0.069 0.537 tengan distinto signo. Como x, — x,-1 > Oy Tp41 — ty > 0, no es necesario usar los cocientes de las diferencias, basta comprobar si las diferencias yx — yx—1 © Yk41 — Ye tienen signos distintos, en cuyo caso aceptamos que zy, es una raiz aproximada. Desafortunadamente, esto no garantiza que este valor de partida produzca una sucesién convergente; por ejemplo, si la grafica de f tiene un minimo (0 un maximo) local que esté muy préximo a cero, entonces es posible que 2x, sea catalogado como un cero aproximado de f cuando f (ax) ¥ 0, aunque quizds ay no esta cerca de ninguna raiz. Ejemplo 2.9. Vamos a localizar aproximadamente las raices de x*—a?—2+1=0 en cl intervalo [-1.2,1.2]. Para ello, por ejemplo, tomamos N = 8 y miramos los clculos en la Tabla 2.3. Las tres abscisas que debemos tener en cuenta son —1.05,-0.3, y 0.9 f(x) cambia de signo en [-1.2, 0.9], el punto medio —1.05 es una raiz aprox de hecho, f(—1.05) = -0.210. Aunque la pendiente cambia de erca de —0.3, vemos que f(—0.3) = 1.183; luego —0.3 no esta cerca de ninguna raiz. Finalmente, la pendiente cambia de signo cerca de 0.9 y #(0.9) = 0.019, de manera que 0.9 es una raiz. aproximada (véase la Figura 2.10). . Como mada; Comprobacién de la convergencia Podemos usar una grafica para ver la localizacién aproximada de una raiz, pero debemos usar un computador para calcular un valor p, que sea una solucién aceptable. Normalmente empleamos un procedimiento iterativo que genera una 72 Cap. 2 RESOLUCION DE’ ECUACIONES NO LINEALES Figura 2.10 Grafica del poli- nomio ciibico ye Figura 2.11 (a) Banda de convergencia horizontal para localizar una so- lucién de f(x) = 0. sucesién {p,} convergente a una raiz p, asi que es imprescindible disefiar por adelantado un criterio, o estrategia, de parada para que el computador detenga las iteraciones cuando haya obtenido una aproximacién suficientemente precisa. Puesto que nuestro objetivo es resolver f(x) = 0, el valor final p, deberia verificar que |f(Pn)| < Podemos proporcionar un valor de la tolerancia ¢ para el tamaiio de |f(pp)| y el proceso iterativo producira puntos P, = (px, f(pr)) hasta que el ultimo punto P,, esté en la banda horizontal comprendida entre las rectas de ecuaciones y= +e ey =—e, como se muestra en la Figura 2.11(a). Este criterio es titil si lo que deseamos es resolver una ecuacién h(a) = L aplicando un algoritmo de cAlculo de ceros a la funcién f(x) = h(x) — L. SBC. 2.3 APROXIMACION INICIAL Y CRITERIOS DE CONVERGENCIA 73 Figura 2.11 (b) Banda de convergencia vertical para localizar una solucin de f(x) =0. Otro criterio de parada involucra las abscisas. Tratamos de determinar si la sucesién {px} converge y, para ello, dibujamos dos rectas verticales de ecuaciones x =p+ébyx=p—6 a cada lado de x = p, y detenemos el proceso cuando P, esta entre ambas rectas, como se muestra en la Figura 2.11(b). Aunque es un criterio aceptable, tal y como esté es imposible de utilizar porque supone conocida la solucién p que buscamos. Lo que hacemos es adaptar la idea que subyace y detener las iteraciones cuando dos valores consecutivos Pn—1 ¥ Pn estén suficientemente cerca o cuando coinciden en sus M primeras cifras significativas Algunas veces nos conformaremos con que py © Pn—1 y otras con que F (Pn) © 0. Razonemos de forma precisa para entender las consecuencias de nuestra eleccin. Si requerimos |pn — pl < 6 y |f(Pn)| <¢, el punto Py estaré situado en la regién rectangular que rodea la solucién (p,0) y se muestra en la Figura 2.12(a). Si estipulamos que |pn — p| < 6 0 bien |f(pn)| < ¢, el punto P, podria estar situado en cualquier lugar de la regién formada por la unidn de las bandas vertical y horizontal que se muestra en la Figura 2.12(b). Los tamaiios de las tolerancias 6 y € son cruciales. $i las tolerancias se eligen demasiado pequefias, la iteracién podria continuar sin fin. Una buena elecciu es tomarlas unas 100 veces mayores que 10-™, donde M es el niimero de cifras decimales de la representacién en coma flotante que usa el computador. La proximidad entre las abscisas puede comprobarse con uno de los siguientes criterios [Pn —Pn—1] <5 (estimacion del error absoluto) o bien 2IPn — Pr—il [Pal + [Pn—a) La proximidad de la ordenada se comprueba normalmente mediante |f(Pn)| < <6 (estimacion del error relativo) 74 Cap. 2. RESOLUCION DE ECUACIONES NO LINEALES y x Figura 2.12 pi>K=-2:.001:2; >>approot (X,0.00001) 76 Cap. 2 RESOLUCIGN DE ECUACIONES NO LINEALES ans= 1.9875 -1.6765 -1.1625 1.1625 1.6765 1.9875 Comparando los resultados con la grafica de f, puede verse que ahora disponemos de buenas aproximaciones iniciales para cualquiera de nuestros algoritmos de célculo de raices, . Ejercicios En los Ejercicios 1 a 6, utilice un computador 0 una calculadora con pantalla grafica para determinar gréficamente la localizacién aproximada de las raices de f(r) = 0 en el intervalo dado. En cada caso, determine un intervalo [a,b] en el que los Programas 2.2 y 2.3 puedan ser usados para hallar las raices (0 sea, f(a) f(b) < 0). 1. fle) . f(e) = x ~ cos(e) para -2 Sx <2 . f(a) = sen(z) — 2cos(z) para -2 <2 <2 f(x) = cos(z) + (1+22)-! para -2<2 <2 (x) = ( — 2)? — In(w) paras <2 <45 (x) = 2a ~tan(z) para -14<2<14 2 —e* para -2< a <2 a Algoritmos y programas En los Problemas 1 y 2, utilice un computador o una calculadora con pantalla gréfica y el Programa 2.4 para aproximar, con una precisién de cuatro cifras decimales, las raices reales de cada una de las funciones dadas en el intervalo correspondiente. Luego utilice el Programa 2.2 0 el Programa 2.3 para aproximar cada raiz con una precisién de 12 cifras decimales. 1. f(x) = 100000024 — 1110002? + 11102 ~ 1 para -2 < ae <2. 2. f(a = 5e!0 — 3829 + 2128 — 52° — 3rx5 — 52? + 8x — 3 para —15 0 tal que la sucesiOn {px }729 definida por el proceso iterativo (4) Pk = 9(Pr-1) = Pri — fot para k=1, 2, converge ap cualquiera que sea la aproximacién inicial po € [p — 5, p + 4]. Observacidn. La funcién g(x) definida por la relacién So) Fi) se llama funcién de iteracién de Newton-Raphson. Puesto que f(p) = 0, es facil ver que g(p) = p, lo que nos dice que la iteracién de Newton-Raphson para hallar una raiz de la ecuacin f(«) = 0 consiste en hallar un punto fijo de g(x) (5) g(t) = = Sec. 2.4 Los METOpos DE NEWTON-RAPHSON Y DE LA SECANTE 79 Demostracién. La construccién geométrica de p, que se muestra en la Figu- ra 2.13 no nos ayuda a entender por qué po debe estar cerca de p ni por qué la continuidad de f(x) es esencial. Nuestro andlisis comienza con el polinomio de Taylor de grado n = 1 de f alrededor de pp y su correspondiente resto: ” _ py ©) Fle) = Flpo) +4" (Wa)(e ~ po) + FOE Po donde c es un punto intermedio entre po y x. Poniendo x = pen la relacién (6) y usando que f(p) = 0 obtenemos ; «) 0= F(p0) + J" Wo)(P ~ po) + LP Po Si po esta suficientemente cerca de p, entonces el tiltimo sumando del miembro derecho de (7) sera pequefio, comparado con la suma de los dos primeros, asi que podemos despreciarlo y usar la aproximacién (8) 0% f(po) + f'(po)(p — Po)- Despejando p en la relacién (8), obtenemos p * po — f(Po)/f"(po), expresion que usamos para definir pi, la siguiente aproximacién a la raiz f(po) £' (po) Poniendo p,—1 en lugar de po en la relacién (9), la regla general (4) queda establecida. En muchas aplicaciones, esto es todo lo que hace falta entender y saber usar; sin embargo, para comprender totalmente lo que ocurre, necesitamos considerar la iteracién de Newton-Raphson como una iteracién de punto fijo y aplicar el Teorema 2.2 en nuestra situacién. La clave nos la da el andlisis de g(a): (9) Pi = Po — POF) = f@)F"(@) _ fa) f"(a) (Fi@)P “(FP Por hipétesis, sabemos que f(p) = 0; luego g'(p) = 0. Como g(x) es continua y g'(p) = 0, podemos encontrar 6 > 0 tal que la hipotesis |g’(«)| < 1 del Teorema 2.2 se cumple en el intervalo (p — 6,p + 6). Por consiguiente, que po € (p — 4,p + 6) es una condicién suficiente para que pp sea el punto de partida de una sucesién {p,}229 que converge a la tinica raiz de f(x) = 0 en dicho intervalo, siempre que 6 sea clegido tal que lf@)F"@)| LF (@)P g(t) =1 <1 para todo x € (p—6,p +6). . 80 Cap. 2 RESOLUCIGN DE ECUACIONES NO LINEALES Corolario 2.2 (Iteracién de Newton-Raphson para el calculo de raices cuadradas). Supongamos que A > 0 es un ntimero real y sea pp > 0 una apro- ximaci6n inicial a VA. Definimos una sucesién {p,}?) mediante el proceso recursivo al 1 ,= = 1 + — para k= 1, 2, (11) Pk 3(m 1 +) P Entonces la sucesién {px} converge a WA; es decir, limp—yoo pk = VA. Empezamos con la funcién f(x) = 22—A. Notemos son +VA. Ahora usamos la funcién f(r) y escribimos la correspondiente formula Esbozo de la demostra que las raices de la ecuacién x? — A y su derivada f'(a) en la formula de iteracién de Newton-Raphson ‘ =¢-f@ _,_ (12) 92) =" — Gy =e GE que podemos simplificar para obtener i A (13) _ (« + 2) Cuando usamos la funcidn de iteracién g(a) dada en (13) para definir el proceso recursivo (4), el resultado es la férmula (11). Puede probarse que la sucesi6n generada por (11) converge cualquiera que sea el valor inicial po > 0; los detalles se dejan como ejercicio. . Un aspecto importante del Corolario 2.2 es que la funcién de iteracién g(x) sdlo necesita las operaciones aritméticas +, —, x y /; si g(x) hubiera necesitiado el cAlculo de una raiz cuadrada, estariamos atrapados en un razonamiento cir- cular: el uso del cdlculo de raices cuadradas para calcular rafces cuadradas (de forma més complicada). Por esta razén se eligié f(x) = x? — A, porque sélo involucra las operaciones aritméticas elemental Ejemplo 2.11. Vamos a usar el algoritmo de Newton-Raphson dado inmediata- mente antes para calcular V5. Empezando con py = 2 y usando la formula (11), caleulamos: n=? 3h = 2.25 p= 22 +5ne = 2236111111 ae 2.236111111 a 236111111 = 2.236067978 py = 238067978 + 5/2.286067978 _ 9 sscograzy 2 Si siguiéramos iterando legarfamos a px © 2.236067978 para k > 4, de manera que hemos conseguido una exactitud de nueve cifras decimales. . Sec. 2.4 Los méropos DE NEWTON-RAPHSON Y DE LA SEt 81 Vamos a prestar un poco de atencién ahora a un conocido problema de fisica elemental, en el que la determinacién de una rafz de una cierta ecuacién es fundamental. Supongamos que disparamos un proyectil desde el origen con un Angulo de elevacién by y velocidad incial vp. Cuando se analiza este problema en los primeros cursos, se desprecia la resistencia del aire y aprendemos que la altura y = y(t) y el alcance horizontal x = 2(t), medidos en metros, obedecen las reglas (14) y=ryt-49P yy x= vet, donde las componentes horizontal y vertical de la velocidad incial son, respec- tivamente, v, = vp cos(bg) ¥ vy = v9 Sen(bo). Es facil trabajar con el modelo matematico expresado por las formulas de (14), pero tiende a dar valores de- masiado altos de la altura y del alcance horizontal de la trayectoria del proyectil. Si hacemos la hipdtesis adicional de que la resistencia del aire es proporcional a la velocidad, entonces las ecuaciones del movimiento pasan a ser (15) y= f(t) = (Cv, + 9.80%) (1 e-/°) —9.8ct y (16) r(t) = Cove (1 - eve), siendo C = m/k, donde & es el coeficiente de re ncia del aire y m masa del proyectil. Un valor grande de C corresponderé a una. altura ma y un alcance mayores del proyectil. La grafica de la trayectoria de vuelo de un proyectil cuando tenemos en cuenta la resistencia del aire se muestra en la Figura 2.14. Este modelo mejorado es mas realista, pero requiere el uso de un algoritmo de calculo de rafces para resolver f(t) = 0 y poder asf determinar el tiempo transcurrido hasta que el proyectil cae al suelo. El modelo elemental dado en (14) no requiere ningtin procedimiento sofisticado para hallar el tiempo transcurrido. Ejemplo 2.12. Se dispara un proyectil con un Angulo de elevacién by = 45°, velocidades iniciales vy = v2 = 100m/s y C = 10. Vamos a determinar el tiempo transcurrido hasta el impacto en el suelo. Usando las formulas (15) y (16), las ecuaciones del movimiento del proyectil son y = f(t) = 1980(1 — ef/!°) — 98¢ y « = r(t) = 1000(1 — e~*/!°). Puesto que f(16) = 1224489437 y f(17) = —47.71337762, usaremos como aproximacién inicial pp = 16. La derivada es f'(t) = 198e~*/!° — 98 y, en el punto inicial, vale S'(po) = (16) = —58.02448937 que, en la formula (4), nos proporciona 12.24489437, —58.02448937 Pi = 16— = 16.21102977. Los cdlculos se muestran en la Tabla 2.4. 82 Cap. 2 RESOLUCION DE ECUACIONES NO LINEALES y on (y=. F0) 200 100 Figura 2.14 Trayectoria de 0 x un proyectil cuando tenemos en 200 400 600 800 1000 cuenta la resistencia del aire. Tabla 2.4 CAlculo del instante en el que la altura f(t) vale cero. k Tiempo, px Pei — Pk Altura, f(pk) 0 16.00000000 0.21102977 12.24489437 1 16.21102977 =0.00150171 —0.08838974 2 16.20952805 —0.00000007 | —0.00000441 3 16.20952798 0.00000000 | 0.00000000 4 16.20957798 000000000 0.00000000 El valor p4 tiene ocho cifras decimales de precisién y el instante del impacto en el suelo es t © 16.20957798 segundos. Podemos calcular el alcance usando r(t) y obtenemos (1620957798) = 1000 (1 — e~ 162097798) — 802.28976853 m. . Errores por la divisién entre cero Uno de los inconvenientes obvios del método de Newton-Raphson es la posibili- dad de que se divida entre cero en la formula (4), lo que ocurriria si f/(py_1) = 0. El Programa 2.5 contiene instrucciones que permiten detectar esta situacién, pero ide qué nos sirve en ese caso la tiltima aproximacién calculada py_1? Es posible que |f(px-1)| sea suficientemente pequeiio y que pp—1 sea una apro- ximacién aceptable a la rafz. Investigaremos ahora esta situacién y, de paso, descubriremos un aspecto interesante: la velocidad de convergencia del método. Definicién 2.4 (Orden de una rafz). Supongamos que f(x) y sus deriva- das f(x), ..., f(a) estan definidas y son continuas en un intervalo centrado SEc. 2.4 Los METODOS DE NEWTON-RAPHSON Y DE LA SECANTE 83 en el punto p. Diremos que f(x) = 0 tiene una ratz de orden M en x = psi (17) FL Las raices de orden M = 1 se suelen llamar ratces simples, mientras que si M > 1, entonces se aman ratces muiltiples. En particular, las raices de orden M = 2 se conocen como ratces dobles, y asi sucesivamente. E! siguiente resultado nos servird para aclarar estos conceptos a Lema 2.1. Si una ecuacidn f(x) = 0 tiene una raiz de orden M en x = p, entonces existe una funcién continua h(2) tal que f(x) puede expresarse como el producto (18) f(r) =(a—p)“h(x), — siendo h(p) £ 0. Ejemplo 2.13. La funcion f(x — 3x +2 tiene una rafz simple en p = —2 y una rafz doble en p = 1. Para verificar este hecho basta considerar las derivadas f'(e) = 30? -3y f"(e) = 6x y evaluar. Para p = —2, tenemos f(—2) = 0 y f'(—2) = 9, de manera que M = 1 en la Definicién 2.4 y, por tanto, p= —2 es una raiz simple. Para p = 1, tenemos f(1) = 0, f'(1) = Oy f”(1) = 6, de manera que M = 2en la Definicidn 2.4 y, por tanto, p = 1 es una rafz doble. Hagamos notar, por otro lado, que f(x) puede factorizarse como f(x) = (a + 2)(a — 1)?. 2 Velocidad de convergencia Como vamos a mostrar, la propiedad distintiva que caracteriza cada caso es la siguiente: Si p es una rafz simple de f(a) = 0, entonces el método de Newton- Raphson converge répidamente, de forma que en cada iteracién doblamos (apro- ximadamente) el niimero de cifras decimales exactas. Si, por el contrario, p es una raiz multiple, entonces el error en cada paso es una fraccién del error en el paso anterior. Para describir estos hechos de manera precisa, definimos a continuacién la nocién de orden de convergencia, que es una medida de la velocidad de convergencia de una sucesién. Definicién 2.5 (Orden de convergencia). Supongamos que {pn} verge ap y sea E, = p—pp para cada n > 0. Si en dos constantes positivas A>Oy R>O tales que Ip Dnt |En+1| 19 li =1 = (19) ne [p= Pale se [Bal® entonces se dice que la sucesién converge a p con orden de convergencia R y el ntimero A se llama constante asintética del error. Los casos R = 1,2 merecen una consideracién especial: (20) Si R=1, la convergencia de {p,,}%.9 se Hama lineal. (21) Si R=2, la convergencia de {pp}°%o se Hama cuadratica. a 84 Cap. 2 RESOLUCION DE ECUACIONES NO LINEALES Tabla 2.5 El método de Newton-Raphson converge cuadraticamente en una raiz simple. _ Pk Peet — Pk Ex =p~px Fie 0 =2.400000000 0.323809524 0.400000000 0.476190475 1 =2.076190476 0.072594465 0.076190476 0.619469086 2 =2.003596011 0.003587422 0.003596011 0.664202613 3 —2.000008589 0.000008589 0.900008589 4 —2.00000000 0.000000000 0.000000000 Si R es grande, entonces la sucesién {p,,} converge rdpidamente a p; 2s, la relacion (19) implica que para valores grandes de n tenemos la aproximacién |Ensil © AJE,|®. Por ejemplo, supongamos que R = 2 y que |E,| ~ 10-7, entonces cabe esperar que |En41| © Ax 10~*. Algunas sucesiones convergen con un orden que no es un mimero natural; veremos, por ejemplo, que el orden de convergencia del método de la secante es R= (1+ ¥5)/2 = 1.618033989. Ejemplo 2.14 (Convergencia cuadratica cuando la raiz es simple). Par- tiendo de pp = —2.4 y usando la iteracién de Newton-Raphson, vamos a aproxi- mamos a la raiz simple p = —2 del polinomio f(x) = «3 — 3x +2. La formula de iteracién para calcular {px} es (22) Prev = 9(Pk) = Usando la férmula (19) con R = 2 para comprobar si la convergencia es cuadratica obtenemos los valores que se muestran en la Tabla 2.5. . Analizando con atencién la velocidad de convergencia en el Ejemplo 2.14 vemos que el error en una iteracién es proporcional al cuadrado del error en la iteracién previa; concretamente. IP — Pisil © Alp — pel’, donde A ~ 2/3. Para comprobar este hecho, usamos, por ejemplo, que |p — p3| = 0.000008589 Ip — p2|? = |0.003596011|? = 0.000012931, con lo cual 2 . |p ~ pa| = 0.000008589 ~ 0.000008621 = 5 Ip — pal’. Sec. 2.4 Los METoDOs DE NEWTON-RAPHSON Y DE LA SECANTE 85 Tabla 2.6 El método de Newton-Raphson converge linealmente en una raiz doble. _ [Ex] k Pk Pk+1— Pk Ex =p Pr TExI 0 1.200000000 —0.096969697 —0.200000000 0,515151515 1 1.103030303 —0.050673883 —0.103030303, 0.508165253, 2 1.052356420 —0.025955609 0.052356420 0.496751115 3 1.026400811 —0.013143081 —0.026400811 0.509753688 4 | 1,013257730 —0.006614311 —0.013257730 0.501097775 5 1.006643419 —0.003318055, —0.006643419 0.500550093 Ejemplo 2.15 (Convergencia lineal cuando la raiz es doble). Partiendo de po = 1.2 y usando la iteracién de Newton-Raphson, vamos a aproximarnos a la raz, doble p = 1 del polinomio f(z) = 2° ~ 3x +2. Usando la formula (19) con R = 1 para comprobar si la convergencia es lineal, obtenemos los valores que se muestran en la Tabla 2.6. ' Hagamos notar que el método de Newton-Raphson converge a la raiz doble, pero con una velocidad bastante baja. Los valores de f(p,) en el Ejemplo 2.15 convergen a cero mds répidamente que los valores de f'(py), de manera que el cociente f(p,)/J" (pe) que aparece en la formula (4) puede calcularse cuando px # p. La sucesion converge linealmente y el error decrece en cada paso hasta, aproximadamente, la mitad de su tamaiio. El siguiente teorema recoge la efica- cia del método de Newton-Raphson, en términos de su orden de convergencia, para raices simples y dobles. Teorema 2.6 (Orden de convergencia del método de Newton-Raph- son). Supongamos que el método de Newton-Raphson genera una sucesién {pn}%o que converge a un cero p de la funcién f(x). Sip es una rafz simple, entonces la convergencia es cuadratica: If") 2f'@)| Si p es una rafz multiple de orden M > 1, entonces la convergencia es lineal: (23) [Entil © |E,|? para n suficientemente grande. (24) para n suficientemente grande. Inconvenientes y dificultades Es facil predecir el error que puede aparecer al dividir entre cero, pero hay otras dificultades que no son tan faciles de advertir. Supongamos, por ejemplo, que 86 Cap. 2 RESOLUCION DE ECUACIONES NO LINEALES 0.3 02 0.1 0.0 Po=2 P=4 Py © Py Figura 2.15 (a) La iteracién de Newton-Raphson para f(r) = xe~* puede producir una sucesién di- vergente. la funcién es f(r) = 2? — 4x +5, entonces la sucesién {p,} generada por la formula (4) oscilara de izquierda a derecha sin converger; un andlisis somero de la situacién revela que f(z) > 0 luego f no tiene ceros reales. Algunas veces la aproximacién inicial po esta demasiado lejos de la raiz deseada y la sucesién {p,} converge a otra raiz; esto suele ocurrir cuando la pendiente (po) es pequeiia y la recta tangente a la curva y = f(z) es casi horizontal. Por ejemplo, si f(x) = cos(x), si la raiz que buscamos es p = 7/2 y si empezamos con po = 3, entonces los célculos producen p, = —4.01525255, pp = —4.85265757,..., de forma que Ja sucesién {px} converge a una raiz distinta: —3n /2 % —4.71238898. Supongamos que f(x) es positiva y mondtona decreciente en un intervalo no acotiado [a, 0) y que po > a, entonces la sucesién {px} podria diverger a +00. Por ejemplo, con f(r) = xe~* y py = 2.0, tenemos py = 4.0, py = 5.333333333, ... , pry = 19.723549434, ..., y {px} diverge lentamente a +oo (véase la Figura 2.15(a)). Esta funcién concreta presenta otro problema inesperado: el valor de f(a) tiende a cero répidamente conforme zx crece; por ejemplo, f (pis) = 0.0000000536 y es posible que pys pudiera tomarse erréneamente como una aproximacién a una raiz. Por esta razon hemos disefiado un criterio de parada en el Programa 2.5 que involu- cra el error relativo 2|p.+1 — px|/(|px|+10~®), de manera que para k = 15 este valor es 0.106817 y la tolerancia 6 = 10-6 evita que el computador nos dé una raiz falsa. Otro fendémeno, la periodicidad, ocurre cuando los términos de la sucesién {px} tienden a repetirse 0 casi repetirse. Por ejemplo, si f(a) = 2° —a—3y la

Você também pode gostar