Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MTODO DE NEWTON-RAPHSON
El mtodo de Newton (conocido tambin como el mtodo de Newton-Raphson) es un
algoritmo eficiente para encontrar aproximaciones de los ceros o races de una funcin
real. El mtodo de Newton-Raphson no trabaja sobre un intervalo sino que basa su
frmula en un proceso iterativo.
La idea de este mtodo es la siguiente: se comienza con un valor razonablemente
cercano al cero (denominado punto de arranque), entonces se reemplaza la funcin por
la recta tangente en ese valor, se iguala a cero y se despeja (fcilmente, por ser una
ecuacin lineal). Este cero ser, generalmente, una aproximacin mejor a la raz de la
funcin. Luego, se aplican tantas iteraciones como se deseen.
Supongamos que tenemos la aproximacin a la raz de ()
Y
f(x)
tangente
Xr
Xi+1
Xi
y despejamos :
=
Que es la frmula
( )
( )
iterativa de Newton-Raphson,
aproximacin:
+1 =
( )
( )
( ) 0
si
Notar que el mtodo de Newton-Raphson no trabaja con intervalos donde nos asegure
que encontraremos la raz, y de hecho no tenemos ninguna garanta de que nos
aproximaremos a dicha raz. Desde luego, existen ejemplos donde este mtodo no
converge a la raz, en cuyo caso se dice que el mtodo diverge. Sin embargo, en los
casos donde si converge a la raz lo hace con una rapidez impresionante, por lo cual es
uno de los mtodos preferidos por excelencia.
Tambin observe que en el caso de que ( ) = 0 , el mtodo no se puede aplicar. De
hecho, vemos geomtricamente que esto significa que la recta tangente es horizontal y
por lo tanto no intercepta al eje X en ningn punto, a menos que coincida con ste, en
cuyo caso mismo es una raz de ( ).
Ejemplo 1
Usar el mtodo de Newton-Raphson, para aproximar la raz de ( ) = ln ,
comenzando con 0 = 1
Solucin
En este caso, tenemos que
( ) =
ln
ln
= +
1
1
+
| | = |
| | = |
1 0
100%|
1
1.268941421 1
100%| = 21.19 %
1.268941421
Aprox. a la raz
Error aprox.
1
1.268941421
21.19%
1.309108403
3.06%
1.309799389
0.052%
0.8
0.6
0.4
0.2
-0.2
-0.4
0.4
0.5
0.6
0.7
0.8
0.9
1
+ 1
1 + 2
+ 1
1
+ 1)
1 + 2
0 + 0 1
= 0.5
1
+ 1)
1 + 02
0.5 0
100%| = 100%
0.5
Error
aprox.
0
0.5
100%
0.5201957728
3.88%
0.5202689918
0.01%
2
2
obteniendo:
+1 =
[ + ]
2
Error aprox.
5
5.1
1.96%
5.099019608
0.019%
5.099019514
0.0000018%
OBSERVACION :
Este mtodo es el ms seguro de todos, ya que casi nunca falla, la nica vez que puede
fallar es que se quede "oscilando" encima de la raz sin encontrarla nunca, lo que se
llama gravedad matemtica.
Por lo dems es el ms confiable y el ms fcil de usar, la nica dificultad que presenta
es que se tiene que derivar la ecuacin que se quiere encontrar la raz.
Trabaja trazando lneas tangentes a la curva original, por eso la derivada, las cuales se
van como deslizando por la misma hasta que quedan prcticamente horizontales, porque
se sabe que una lnea vertical no tiene pendiente ni recta tangente.
Para aplicar este mtodo primero definimos:
es el primer y nico punto que se le da al mtodo, porque solo trabaja con un punto.
es el valor actual de X.
+1 es el siguiente valor de X.
Lo primero que se tiene que hacer es derivar la ecuacin, una vez que ya se tiene la
derivada y es correcta, se puede empezar con el mtodo.
Aqu se ocupan 3 columnas para los datos, , () y () .
El mtodo ha aplicar es la ecuacin
+1 = ( ( ) / ( ) )
Ejemplo
Supngase que se tiene la ecuacin 3 2 2 + 8 9
Su derivada es: 3 2 4 + 8
y el punto con el que se quiere trabajar es 15
El mtodo termina idealmente hasta que en la columna de ( )
quede un 0, pero
realmente eso nunca sucede, lo que se hace es fijar al principio un valor cercano a 0 al
que se desea llegar, por ejemplo 0.001, y cuando en ( ) su valor absoluto sea menor
funcin
despus
de
N,
CODIGO EN MATLAB
Programa01
fprintf('\t\t\t METODO DE NEWTON-RAPHSON \n\n')
%********* INGRESO DE DATOS PARA EL ALGORITMO *********
Fx = input('Ingrese funcion f(x): ','s');%Ingreso de la funcion como
una cadena de caracteres
ezplot(Fx)%grafica la funcin f(x)
Po = input('\n Aproximacion inicial Po: ');% 'Po' es la aproximacin
inicial
Tol = input('\n Tolerancia: ');%'Tol' es la tolerancia o el grado de
error
numIter = input('\n Numero de Iteraciones: ');% 'numIter' es el numero
maximo de iteraciones
fprintf('\n El incremento h tiende a cero')% ingreso del incremento en
el eje de las absisas
h = input('\n Incremento h: ');% 'h' es utilizado para el calculo
aproximado de la derivada de f(x)
encontrado = false;%' encontrado' indoca si se encontro la raiz,
cuando encontrado = true
%***** FIN DE INGRESO DE DATOS ********
%******* ALGORITMO DE NEWTON-RAPHSON O DE LA TANGENTE *********
i=1;
while(i<=numIter)
x = Po;
Programa02
% Para una funcin f(x) ingresada desde el teclado
function [A,B]=newtonraph(po,N,TOL,fx)
% p aproximacin inicial, a partir de este valor encontraremos los
dems
% N Numero mximo de iteraciones que hace el programa para encontrar
la solucin
% Tol tolerancia
% fx es la funcin o ecuacin a evaluar su solucin es decir una de
sus races
fx=sym(fx);
flag=0;
i=1;
x=-2:0.001:4;
y=subs(fx,x);
plot(x,y,'b');
grid;
hold on;
while i<=N
fpo=subs(fx,po); % evaluamos en la funcin la aprox inicial
%calculo de la derivada de la
funcin******************************falta
fxd=diff(fx);
fP=subs(fxd,po); %evaluamos en la derivada de la funcin la aprox
inicial
p=po-fpo/fP; % encontramos la aproximacin de cada
iteracin
% graficamos los puntos aproximados
end
hold off;
if flag==0
msg1='FALLAMOS EN LA ITERACION.';
i=num2str(i);
msgbox([msg1,i],'Error','error');
end