Académique Documents
Professionnel Documents
Culture Documents
Newton-Raphson
En anlisis numrico, el mtodo de Newton (conocido tambin como el mtodo de NewtonRaphson o el mtodo de Newton-Fourier) es un algoritmo eficiente para encontrar
aproximaciones de los ceros o races de una funcin real. Tambin puede ser usado para
encontrar el mximo o mnimo de una funcin, encontrando los ceros de su primera derivada.
El mtodo de Newton-Raphson es un mtodo abierto, en el sentido de que no est
garantizada su convergencia global. La nica manera de alcanzar la convergencia es
seleccionar un valor inicial lo suficientemente cercano a la raz buscada. As, se ha de
comenzar la iteracin con un valor razonablemente cercano al cero (denominado punto de
arranque o valor supuesto). La relativa cercana del punto inicial a la raz depende mucho de
la naturaleza de la propia funcin; si sta presenta mltiples puntos de inflexin o pendientes
grandes en el entorno de la raz, entonces las probabilidades de que el algoritmo diverja
aumentan, lo cual exige seleccionar un valor puesto cercano a la raz. Una vez que se ha
hecho esto, el mtodo linealiza la funcin por la recta tangente en ese valor supuesto. La
abscisa en el origen de dicha recta ser, segn el mtodo, una mejor aproximacin de la raz
que el valor anterior. Se realizarn sucesivas iteraciones hasta que el mtodo haya convergido
lo suficiente.
Sea f: [a, b] -> R funcin derivable definida en el intervalo real [a, b]. Empezamos con un valor
inicial x0 y definimos para cada nmero natural n
Una forma alternativa de obtener el algoritmo es desarrollando la funcin f (x) enserie de Taylor, para un
entorno del punto
:
, luego, sustituyendo
Finalmente, hay que indicar que el mtodo de Newton-Raphson puede interpretarse como un mtodo de
iteracin de punto fijo. As, dada la ecuacin
iteracin de punto fijo:
Se escoge h (x) de manera que g'(r)=0 (r es la raz buscada). Dado que g'(r) es:
Entonces:
Su principal desventaja en este caso sera lo costoso que pudiera ser hallar g(x) y g'(x) si f(x)
no es fcilmente derivable.
Por otro lado, la convergencia del mtodo se demuestra cuadrtica para el caso ms habitual
en base a tratar el mtodo como uno de punto fijo: si g '(r)=0, y g''(r) es distinto de 0, entonces
la convergencia es cuadrtica. Sin embargo, est sujeto a las particularidades de estos
mtodos.
Ntese de todas formas que el mtodo de Newton-Raphson es un mtodo abierto: la
convergencia no est garantizada por un teorema de convergencia global como podra estarlo
en los mtodos de falsa posicin o de biseccin. As, es necesario partir de una aproximacin
inicial prxima a la raz buscada para que el mtodo converja y cumpla el teorema de
convergencia local.
Teorema de Convergencia Local del Mtodo de Newton[editar]
Sea
si
. Si
verificando:1
para todo
para todo
tal que
para una cierta constante . Esto significa que si en algn momento el error es menor o igual
a 0,1, a cada nueva iteracin doblamos (aproximadamente) el nmero de decimales exactos.
En la prctica puede servir para hacer una estimacin aproximada del error:
Error relativo entre dos aproximaciones sucesivas:
Con lo cual se toma el error relativo como si la ltima aproximacin fuera el valor exacto. Se
detiene el proceso iterativo cuando este error relativo es aproximadamente menor que una
cantidad fijada previamente.
Ejemplo
Consideremos el problema de encontrar un nmero positivo x tal que cos(x) = x3. Podramos
tratar de encontrar el cero de f(x) = cos(x) - x3.
Sabemos que f '(x) = -sin(x) - 3x2. Ya que cos(x) 1 para todo x y x3 > 1 para x>1, deducimos
que nuestro cero est entre 0 y 1. Comenzaremos probando con el valor inicial x0 = 0,5
%cercano a la raz.
%
%f=Funcin previamente definida en consola (use el siguiente comando en consola "f = @(x)
(escriba aqu su funcin)");
%ff=derivada analtica de la funcin f (difinida previamente con el mismo comando anterior);
%a=punto cercano a la raz; e=margen de error; n=numero de
%iteraciones maximo permitido
%
%El ingreso de datos es de la forma np(f,ff,a,e,n)
%
%by Francisco Pea Gallardo (Peovsky Freeman)
%UMSNH
%
function np(f,ff,a,e,n)
fprintf('Mtodo de Newton-Raphson\n');
fprintf('by Peovsky Freeman\n');
format long
x0=a;
i=0;
error=1;
fprintf('Iter. \t m \n');
f0=feval(f,x0);
f1=feval(ff,x0);
x1=x0-(f0/f1);
i=i+1;
error=abs((x1-x0)/x1);
fprintf('%d \t %d \n',i,x1)
if feval(f,x1)==0
sprintf('Nos alegramos porque encontramos la raz')
return
end
x0=x1;
end
w = feval(f,x0);
fprintf('\nLa raz aproximada es:\t \t %f\n',x0);
fprintf('\nCon una toleracia de:\t \t %f\n',e);
fprintf('Nmero de Iter:\t \t \t \t %d \n',i);
disp('Funcin:');
disp(f);
fprintf('El valor de f(x) en %f es: f(x) = %f\n',x0,w)
return
end