Sunteți pe pagina 1din 6

ANLISIS NUMRICO

2.3

ICM ESPOL

Mtodo de Newton

Sea f: RR, dada la ecuacin f(x)=0, encuentre r tal que f(r)=0. Entonces r es una raz real de
la ecuacin
El mtodo de Newton se fundamenta en el mtodo del punto fijo. Consiste en elegir g(x) en la
ecuacin x = g(x) tal que el orden de convergencia sea de segundo orden
2.3.1 Obtencin de la frmula de Newton
Suponer que g es una funcin diferenciable en una regin que incluye a la raz r y al valor
calculado xi. Entonces, desarrollando con la serie de Taylor:
g(xi) = g(r) + (xi - r) g(r) + (xi - r)2g(r)/2! + . . .
Sustituimos las definiciones del mtodo del mtodo del punto fijo:
r = g(r)
xi+1 = g(xi), i = 0, 1, 2, 3, . . .
Se obtiene:
xi+1 = r + (xi - r) g(r) + (xi - r)2g(r)/2! + . . .
Con las siguientes definiciones para el error de truncamiento:
Ei = xi - r:
Error absoluto en la iteracin i
Ei+ 1 = xi+1 - r:

Error absoluto en la iteracin i +1

Sustituyendo se obtiene:
Ei+ 1 = Ei g(r) + Ei2 g(r)/2! + . . .
Si se pudiese hacer que g(r) = 0, siendo g(r) 0, entonces se tendr:
Ei+ 1 = O( Ei2 ),
Con lo que el mtodo tendr convergencia cuadrtica
El procedimiento para hacer que g(r) = 0, consiste en elegir una forma especial para g(x)
g(x) = x - f(x) h(x), en donde h es alguna funcin que debe especificarse
Es necesario verificar que la ecuacin x = g(x) se satisface con la raz r de la ecuacin f(x) = 0
g(r) = r - f(r) h(r) = r g(r) = r
Derivar g(x) y evaluar en r
g(x) = 1 - f(x) h(x) - f(x) h(x)
g(r) = 1 - f(r) h(r) - f(r) h(r) = 1 - f(r) h(r)
Para que la convergencia sea cuadrtica se necesita que g(r) = 0
g(r) = 0 0 = 1 - f(r) h(r) h(r) = 1/f(r) h(x) = 1/f(x)
Que permite determinar h(x) para que la convergencia sea cuadrtica.
Entonces, sustituyendo en la frmula propuesta se obtiene x = g(x) = x - f(x)/f(x)
Con lo cual se puede escribir
Definicin: Frmula Iterativa de Newton
xi + 1 = xi

f(xi )
,
f '(xi )

f(xi ) 0 , i = 0, 1, 2, . . .

Ing. Luis Rodrguez Ojeda, MSc.

ANLISIS NUMRICO

ICM ESPOL

Ejemplo. Calcule una raz real de f(x) = ex - x = 0 con la frmula de Newton


Suponer el valor inicial: x0 = 0.5
f(x 0 )
e x 0 x 0
e0.5 0.5
= x0 x
= 0.5
= 0.5522
x1 = x 0
f '(x 0 )
e0.5
e 0
x 2 = x1

f(x1 )
e x1 x1
e0.5522 0.5522
= x1 x
= 0.5522
= 0.5538
f '(x1 )
e0.5522
e 1

f(x 2 )
e x2 x 2
e0.5538 0.5538
= x2 x
= 0.5538
= 0.5538
f '(x 2 )
e0.5538
e 2
En los resultados se observa la rpida convergencia. En la tercera iteracin el resultado tiene
cuatro decimales que no cambian
x3 = x2

2.3.2

Interpretacin grfica del mtodo de Newton

Suponer que f es como se muestra en el siguiente grfico y x0 es el valor inicial:

Seguimos el siguiente procedimiento:


Calcular f(x0)
Trazar una tangente a f en el punto (x0, f(x0)) hasta intersecar al eje horizontal
El punto obtenido es x1
Entonces tan(0) = f(x0) = f(x0)/(x0 x1) de donde se obtiene x1 = x0 f(x0)/f(x0)
Calcular f(x1)
Trazar una tangente a f en el punto (x1, f(x1)) hasta intersecar al eje horizontal:
El punto obtenido es x2
Entonces tan(1) = f(x1) = f(x1)/(x1 x2) de donde se obtiene x2 = x1 f(x1)/f(x1)
...
Con estos dos resultados se puede generalizar:
tan(i) = f(xi) = f(xi)/(xi xi+1) de donde se obtiene xi+1 = xi f(xi)/f(xi)
Es la frmula de Newton.
Esta interpretacin grfica permite observar que la secuencia de valores calculados con la
frmula de Newton sigue la trayectoria de las tangentes a f(x) y que cuando se produce
convergencia, esta secuencia tiende a la raz r. En la siguiente seccin se analiza la propiedad
de convergencia de ste mtodo.

Ing. Luis Rodrguez Ojeda, MSc.

ANLISIS NUMRICO

ICM ESPOL

2.3.3 Anlisis de convergencia del mtodo de Newton


Para que la frmula iterativa de Newton converja se requiere que |g(x)|<1
Para el mtodo de Newton se obtuvo la siguiente frmula:
x = g(x) = x - f(x)/f(x),
f(x)f ''(x)
g'(x) =
Por lo tanto,
[f '(x)]2
Si suponemos que en alguna regin cercana a r en la cual se realizan las iteraciones f(x)0,
y si r es una raz de f(x)=0, entonces f(r) = 0, y por lo tanto:
f(r)f ''(r)
g'(r) =
=0
[f '(r)]2
Esto demuestra que existe algn intervalo cercano r en el que |g(x)|<1. Por lo tanto, la
frmula de Newton converge si el proceso iterativo se mantiene dentro de este intervalo.
Para obtener el intervalo de convergencia, no es prctico usar la definicin anterior. Existen
otros procedimientos para analizar la convergencia de esta frmula como se muestra a
continuacin.
2.3.4 Una condicin de convergencia para el mtodo de Newton
Dada la ecuacin f(x)=0. Calcular una raz real r con la frmula iterativa de Newton
f(xi )
xi + 1 = xi
, f(xi ) 0 , i=0, 1, 2,...
f '(xi )
Suponer que f(x), f(x), f(x) son continuas y limitadas en un intervalo [a, b] que contiene a la
raz r. Si adems se cumple que:
a) f(x)>0, x(r, b]
b) f(x)>0, x(r, b]
c) f(x)>0, x(r, b]
Entonces xi r , para cualquier valor inicial x0 elegido en el intervalo (r, b]. (Convergencia)
i

La funcin f de la figura anterior concuerda con estas premisas.

Demostracin
En la frmula iterativa de Newton el ltimo trmino es positivo, por lo tanto:
f(xi )
xi + 1 = x i
xi + 1 < xi
f '(xi )

(1)

Si desarrollamos f(x) con la serie de Taylor alrededor de xi


f(r) = f(xi ) + (r xi )f '(xi ) + (r xi )2 f ''(z) / 2!

En este desarrollo, el ltimo trmino representa el error de truncamiento de la serie. Este


trmino es positivo, por lo tanto:
f(r) > f(xi ) + (r xi )f '(xi ) 0 > f(xi ) + (r xi )f '(xi ) r < xi f(xi ) / f '(xi ) r < xi+ 1 (2)
Combinando los resultados (1) y (2) se tiene
r < xi+ 1 < xi , i = 0, 1, 2, ...
Que define una secuencia numrica decreciente que tiende a r.
Esto prueba la convergencia de la frmula iterativa de Newton:

xi
i

Si se dispone del grfico de f es fcil reconocer visualmente si se cumplen las condiciones a),
b) y c) como la figura anterior y se puede definir un intervalo para la convergencia del mtodo.
Si f tiene otra forma, igualmente se pueden enunciar y demostrar las condiciones para que se
produzca la convergencia.

Ing. Luis Rodrguez Ojeda, MSc.

ANLISIS NUMRICO

ICM ESPOL

Ejemplo. Determine la convergencia del mtodo de Newton si f tuviese la siguiente forma

Su geometra se puede describir con:


a) f(x)>0, x[a, r)
b) f(x)<0, x[a, r)
c) f(x)>0, x[a, r)
Con un desarrollo similar al anterior, se puede probar que el mtodo converge para cualquier
valor inicial x0 elegido en el intervalo [a, r), (a la izquierda de la raz r ).
El uso de esta propiedad es visualmente simple con la ayuda de MATLAB. Se elige como
intervalo de convergencia aquella regin en la que la trayectoria de las tangentes converge a la
raz. Si se elije un valor inicial arbitrariamente no se puede asegurar que el mtodo converger.

2.3.5 Instrumentacin computacional en MATLAB


En esta seccin se describe el uso de MATLAB para instrumentar el mtodo de Newton. Se lo
har con un simple comando aprovechando el manejo simblico disponible
Ejemplo: Calcule las races reales de f(x) = ex - x = 0 con la frmula de Newton.
Primero ingresamos a MATLAB y obtenemos un grfico de la ecuacin escribiendo los
siguientes comandos:

>> f='exp(x)-pi*x';
>> ezplot(f,[0,2]),grid on

Para calcular la primera raz elegimos un valor inicial a la izquierda de la respuesta esperada
de acuerdo a la propiedad de convergencia estudiada para este mtodo.
Para realizar los clculos se usa la frmula de Newton
f(xi )
xi + 1 = x i
f '(xi )

Ing. Luis Rodrguez Ojeda, MSc.

ANLISIS NUMRICO

ICM ESPOL

En el lenguaje computacional no se requieren escribir ndices para indicar que el valor de una
variable a la izquierda es diferente del valor que contiene a la derecha. Esto se puede expresar
algortmicamente con la notacin:
f(x)
xx
f '(x)
En lenguajes como MATLAB se utiliza el signo igual para asignacin, pero con este significado.
Por simplicidad conviene usar las funciones eval para evaluar, y diff para derivar. El comando
se usar repetidamente presionando la tecla con la flecha . La convergencia puede
observarse directamente en los resultados que se muestran en pantalla.

>> f='exp(x)-pi*x';
>> diff(f)
ans =
exp(x)-pi
>> g=inline('x-(exp(x)-pi*x)/(exp(x)-pi)');
>> x=0.5;
>> x=g(x)
x=
0.5522
Valor producido en la primera iteracin
>> x=g(x)
x=
0.5538
Valor producido en la segunda iteracin
>> x=g(x)
x=
0.5538
Valor producido en la tercera iteracin
Con el ltimo resultado podemos suponer que ya se tienen cuatro decimales exactos.
Se puede observar la rapidez con la que el mtodo se acerca a la respuesta.
Finalmente, es importante verificar si la ecuacin se satisface con el valor calculado:

>> eval(f)
ans =
2.3452e-012

(al evaluar f se obtiene un valor muy cercano a cero)

2.3.6 Uso de funciones especiales de MATLAB


MATLAB dispone de funciones especiales para calcular races de ecuaciones no lineales.
La funcin fzero se usa en sustitucin de los mtodos de la biseccin y de Newton

Ejemplo. Resuelva la ecuacin f(x) = ex - x = 0 usando fzero


>> f='exp(x)-pi*x';
>> x=fzero(f, [0.4, 0.8])
x=
0.5538

(Para usar como el mtodo de la biseccin)

Intervalo que contiene a la raz

>> x=fzero(f, 0.4)


x=
0.5538

(Para usar como el mtodo de Newton)

Valor cercano a la raz

Ing. Luis Rodrguez Ojeda, MSc.

ANLISIS NUMRICO

ICM ESPOL

La funcin solve intenta resolver las ecuaciones en forma simblica exacta. En algunos casos
expresa la solucin mediante algunas definiciones matemticas predefinidas en MATLAB. La
funcin eval convierte las soluciones al formato numrico.

Ejemplo. Resuelva la ecuacin f(x) = ex - x = 0 usando solve


>> x=eval(solve('exp(x)-pi*x=0'))
x=
0.5538
1.6385

(Races reales)

Ejemplo. Encuentre todas las races del polinomio 2x3 - 5x2 - 4x - 7 = 0


>> x=solve('2*x^3-5*x^2-4*x-7=0')
x=
[ 1/6*(683+6*9690^(1/2))^(1/3)+49/6/(683+6*9690^(1/2))^(1/3)+5/6]
..............
>> x=eval(x)
x=
3.3933
-0.4467 + 0.9121i
-0.4467 - 0.9121i

(Para obtener la solucin en forma simple numrica)


(Una raz real y dos races complejas)

Para calcular races de ecuaciones polinmicas, tambin se puede usar la funcin roots.
Los coeficientes del polinomio deben almacenarse en un vector.

Ejemplo. Encuentre todas las races del polinomio 2x3 - 5x2 - 4x - 7 = 0


>> a=[2, -5, -4, -7];
>> x=roots(a)
x=
3.3933
-0.4467 + 0.9121i
-0.4467 - 0.9121i

(coeficientes del polinomio)

(Una raz real y dos races complejas)

Ing. Luis Rodrguez Ojeda, MSc.

S-ar putea să vă placă și