Está en la página 1de 2

El método de Newton

La idea clave del método Newton consiste en reemplazar a la función f(x) por un modelo lineal
local, [1, 2, 4, 6] en cada iteración k. Esto es, dado xk consideramos:

mk(x)=f(xk) + f’(xk)(x−xk)

la aproximación lineal de f(x) que pasa por f(xk)· Así en lugar de intentar resolver f(x) =O,
consideramos mk(x) =O cuya solución es

xk+1 = xk − f(xk) /f’(xk)

sí f’(xk)≠0

Iteración k método de Newton

Dados xk E IR, TOL > 0, k= 0.

PASO l. Criterio de Parada: si lf(xk)l < TOL: PARAR!

PASO 2. calcular z = xk − f(xk) /f’(xk)

PASO 3. definir Xk <-- z, k<-- k+ l. Volver al PASO 1.

Denotamos por sk = Xk+1 -xk = - f(xk)/ f'(xk) al paso dado por el método de Newton en la iteración
k.

Para probar la convergencia del método de Newton se requieren algunas hipótesis de


regularidad sobre la función f.

Teorema 1 Sea f : D  IR, donde D es un intervalo abierto, y f dos veces continuamente


diferenciable en D. Supongamos que If' ( x)I ≥ p para todo x € D, para algún p > O. Si x. € D es
una solución de f(x) = 0 entonces existe n > 0 tal que si I x0 - x *I < n, la sucesión { x k} generada
por

Xk+1 = Xk - f(xk) /f'(xk), k= o, 1, 2, ...

está bien definida y converge a x *. Además, existe c > 0 tal que


I xk+1 - x *I < c I xk - x *I 2 k= o, 1, 2, ...

Programa en Matlab para el método Newton:

function [sol,x,incr,k]=newton(x1,maxiter)
k=1;
x=x1;

format long
while k<=maxiter
[y,dy]=fun(x(k));
delta=y/dy;
x(k+1)=x(k)-delta;

k=k+1;
end

sol=x;

function [x,iter]=Newtons(x0,tolA=[x0];
format long;
while (incr>tol)
[F,dF]=funcion(x0);
z=dF\F;
x=x0-z;
A=[A x];
incr=norm(x-x0,inf);
x0=x;
end
A
[m n]=size(A);
for i=1:n-1
norm(A(:,i)-A(:,i+1),inf);
end

También podría gustarte