Você está na página 1de 6

Este documento es para uso personal. No est permitida la redistribucin por ningn medio.

Mtodo de Newton-Raphson

July 5, 2012

Descripcin
El mtodo de Newton-Raphson, tambin conocido como el mtodo de la tangente, sirve para resolver ecuaciones de la forma
f (x) = 0.

Dado un punto inicial, x0 , en este mtodo se intenta encontrar una sucesin x1 , x2 , . . . tal que la sucesin f (x1 ), f (x2 ) , . . . converge a cero, es decir, se acerca arbitrariamente a cero. Se puede justicar el mtodo de la siguiente manera. Dados dos elementos consecutivos de la sucesin x0 , x1 , x2 , . . . denotados por xi y xi+1 podemos aproximar la derivada en xi por (ver Ejercicio 1)
f (xi ) f (xi+1 ) f (xi ) . xi+1 xi

(1)

Debido a que se espera que la sucesin f (x0 ) , f (x1 ) , . . . converja a cero, escribimos f (xi+1 ) 0 y entonces obtenemos de la ecuacin anterior
f (xi ) f (xi ) . xi+1 xi

Esta aproximacin nos puede servir para denir xi+1 en trminos de xi y f (xi ). Cambiando el signo de aproximacin por el de ecuacin y despejando xi+1 obtenemos f (xi ) xi+1 = xi . (2)
f (xi )

Si proponemos x0 podemos encontrar el resto de la sucesin. Esta primera aproximacin se escoge de tal manera que nosotros conemos en que la solucin est cerca de este punto.

Example 1. Para resolver la ecuacin x2 x1 = 0 escribimos f (x) = x2 x1


y viendo su grca podemos proponer x0 = 1.5 (ver Ejercicio 2a). Entonces, segn la ecuacin (2),
x1 = 1.5 0.25 = 1.625. 2 1.625 1.5

El error relativo aproximado de x1 es a = = 7.69%. De hecho, 1.625 podemos encontrar las races exactas por medio de la frmula cuadrtica. La raz a la que nos estamos aproximando es

1+ 5 1.618034. Entonces podemos 2

Este documento es para uso personal. No est permitida la redistribucin por ningn medio. calcular el error verdadero obtener
= 0.43%. Volvemos a usar la ecuacin (2) para 0.015625 = 1.6180556. 2.25

x2 = 1.625

Como vemos, ste es un valor muy cercano a la raz real. Podemos resumir los valores obtenidos mediante el mtodo de Newton-Raphson en la Tabla 1 (ver Ejercicio 2b). Obsrvese cmo el valor de f (x) y de los errores va disminuyendo en cada iteracin.
i xi f (xi )

0 1 2 3

1.5 1.625 1.6180556 1.618034

4.651 1010

- 0.25 0.015625 0.0000482

NA 7.6923077 - 0.4291845 - 0.0013329

a ( %)

1.286 108

t (%) 7.2949017 - 0.4305232 - 0.0013329

Tabla 1: Mtodo de Newton-Raphson para f (x) = x2 x 1.

Algoritmo
Es claro que el mtodo de Newton-Raphson consiste en aplicar iterativamente la ecuacin (2) hasta obtener un valor xi tal que el valor f (xi ) es muy cercano a cero. Vamos a denir cercano por medio de un parmetro tol. Es decir, vamos a terminar de hacer las iteraciones hasta obtener un xi tal que |f (xi )| < tol. Esto puede no suceder muy rpido o, quiz, nunca como se muestra enseguida.

Example 2. La funcin f (x) = x2 3x + 3 no tiene races reales. Sin embargo,


1 = 1. 1

vamos a usar el mtodo de Newton-Raphson para observar su comportamiento. Tomemos x0 = 2. Entonces, usando la ecuacin (2), obtenemos en la primera iteracin
x1 = 2

En la segunda iteracin
x2 = 1

1 = 2. 1

As, tendremos x3 = 1, x4 = 2, x5 = 1 y as sucesivamente. En el ejemplo anterior se ilustra un procedimiento en el que las iteraciones se ciclan. En el ejemplo siguiente, no sucede eso, pero el mtodo de NewtonRaphson falla.

Example 3. La funcin f (x) =


(2), obtenemos que
xi+1 = xi

x tiene una raz en x = 0. Usando la frmula


1/3

xi

1 2/3 3 xi

= xi 3xi = 2xi .

Este documento es para uso personal. No est permitida la redistribucin por ningn medio. Si empezamos con x0 = 1, por ejemplo, obtenemos x1 = 2, x2 = 4, x3 = 8, x4 = 16, x5 = 32, y as sucesivamente. Es decir, en cada iteracin nos alejamos cada vez ms de la raz verdadera x = 0. Para evitar los problemas de convergencia que surjan como en los dos ejemplos anteriores, vamos a introducir un parmetro que denotaremos por itmax que indicar una cota para el nmero de iteraciones que hagamos. Con las observaciones anteriores, obtenemos el Algoritmo 1. El diagrama de ujo correspondiente se muestra en la Figura 1.

Algoritmo 1 Mtodo de Newton-Raphson Entrada: f (x), x0 , tol, itmax Salida: r tal que f (r) 0 o un mensaje de falla del mtodo Para i = 0 itmax 1 hacer
xi+1 xi

regresar `xito: la raz aproximada es r = xi+1 .' Fin Si Fin Para Si i = itmax entonces regresar `Falla: Se alcanz el nmero mximo de iteraciones.' Fin Si

Si

f (xi ) f (xi ) |f (xi+1 )| < tol entonces

Cdigo en Scilab
En la Figura 2 se muestra una forma de codicar el mtodo de Newton-Raphson en Scilab. Hemos decidido no guardar los valores de la sucesin x0 , x1 , x2 , . . .. Se puede hacer una forma vectorizada de este cdigo. Hay que recordar que en Scilab los ndices de los vectores comienzan en 1. Es decir, si ahora en lugar de r, el cdigo va a regresar un vector x, el valor de x0 corresponde a x(1); el valor de x1 a x(2), y as sucesivamente (ver Ejercicio 3).

Example 4. Las grcas de las funciones


tan
1

(x) se pueden gracar en Scilab mediante las siguientes instrucciones

f (x) = ln

x2 + 1 y de g (x) =

deff ( ` y=f ( x ) ' , ` y=log ( sqrt ( x ^ 2 + 1 ) ) ' ) ; deff ( ` y=g ( x ) ' , ` y=atan ( x ) ' ) ; plot ( 1 : 0 . 1 : 8 , f ) ; plot ( 1 : 0 . 1 : 8 , g , ' r ' ) ; xgrid ( ) ;
l e g e n d ( ` $ f ( x ) $ ' , ` $g ( x ) $ ' ) ; Como puede verse, hay dos races. Una exactamente en x = 0 la cual podemos vericar evaluando f (x) y g(x) y observando que ambas dan el mismo valor. La otra raz est entre x = 3 y x = 4. Para aplicar el mtodo de Newton-Raphson, 3

Este documento es para uso personal. No est permitida la redistribucin por ningn medio.

Inicio
f (x), x0 , tol, itmax i=0 xi+1 = xi f (xi ) f (xi )

No No
i < itmax

Si

|f (xi+1 )| < tol

Si Raz = xi+1

i=i+1

`Procedimiento no exitoso' Fin Figura 1: Mtodo de Newton-Raphson denimos la funcin h (x) = f (x) g(x), pues queremos resolver la ecuacin h(x) = 0. Empecemos con x0 = 3.5. En la consola de Scilab, podemos obtener
> deff ( ` y=h ( x ) ' , ` y=log ( sqrt ( x^2+1)) atan ( x ) ' ) ; >[r , msj ]= nr ( h , 3 . 5 , 1 e 10 ,20)

msj

Procedimiento e x i t o s o r = 3.5026393 Vemos pues que la otra solucin de la ecuacin ln x2 + 1 = tan1 (x) es x 3.5026393. Esta respuesta la alcanza en slo dos iteraciones (ver Ejercicio 4).

Ejercicios
1. Explica por qu podemos escribir la aproximacin dada en (1). 2. Completa lo siguiente con respecto al Ejemplo 1.

Este documento es para uso personal. No est permitida la redistribucin por ningn medio.

function [ r , msj ]= nr ( f , x0 , t o l , itmax ) for i =0: itmax 1 x1=x0 f ( x0 )/ derivative ( f , x0 ) ; i f abs ( f ( x1))< t o l then end end

msj=` Procedimiento e x i t o s o ' ; r=x1 ; return ;

x0=x1 ;

endfunction

r=x0 ; msj=`Se a l c a n z e l nmero mximo de i t e r a c i o n e s . ' ; Figura 2: Cdigo de Newton-Raphson en Scilab. (a) Graca la funcin f (x) = x2 x 1 para vericar que hay una solucin cerca de x = 1.5. (b) Verica los datos de la Tabla 1.

3. Modica el cdigo de la Figura 2 en forma vectorizada. Es decir, en lugar de regresar r el cdigo debe regresar un vector x, donde, por ejemplo, x0 corresponde a x(1). 4. Modica el cdigo de la Figura 2 para que adems de regresar las variables r y msj tambin regrese el nmero de iteraciones que hizo el mtodo. 5. Propn valores para x0 de tal manera que te acerques a las soluciones de las siguientes ecuaciones. (a) x = cos(x). (b) ln(x) = cos(x). (c) ln(x) = tan(x), 2 x 5. (d) x4 x + 1 = 0. (e) x5 1 = 0. (f) x7 9 = 0.

6. Usa el mtodo de Newton-Raphson para resolver las siguientes ecuaciones. (a) x3 + x + 1 = 0. (b) x + sen (x) = x2 + cos (x). 7. Supongamos que queremos aproximar la nica raz real de la funcin f (x) = x3 x + 1 con el cdigo de la Figura 2 con x0 = 1.5, tol = 1020 y una muy grande itmax = 200, 000. La instruccin marca correctamente la raz r = 1.324718, pero la variable msj se hace igual a `Se alcanz el nmero mximo de iteraciones'. Puedes explicar por qu sucede esto? Cmo solucionaras este problema? 5

Este documento es para uso personal. No est permitida la redistribucin por ningn medio.

2a En Scilab se puede usar de (`y=f(x )',` y=x^2x1'); plot(2:0.1:2,f); xgrid(); 6a


0.6823278

Soluciones y sugerencias para algunos ejercicios

6b 0.6176174 y 1.6525149

Você também pode gostar