Está en la página 1de 3

METODO DE NEWTON

fprintf('metodo de newton:\n');

f=input('Ingrese la función: ');

x0=input('Ingrese el valor inicial: ');

tol=input('Ingrese el porcentaje de error: ');

i=1;

fx(i)=x0;

syms x;

f1=subs(f,x,fx(i));

z=diff(f);

d=subs(z,x,fx(i));

ea(1)=100;

while abs(ea(i))>=tol;

fx(i+1)=fx(i)-f1/d; f1=subs(f,x,fx(i+1)); d=subs(z,x,fx(i+1));

ea(i+1)=abs((fx(i+1)-fx(i))/fx(i+1)*100);

i=i+1;

end

fprintf('i fx(i) Error aprox (i) \n');

for j=1:i;

fprintf('%2d \t %11.7f \t %7.3f \n',j-1,fx(j),ea(j));

end

ezplot(f),grid on

EJEMPLO=====

Ingrese el valor inicial: 1

Ingrese el porcentaje de error: 0.001993

Ingrese la función: 3.5*x^2+6.8*x-8


MÉTODO NEWTON RAPHSON MODIFICADO

fprintf('\nMétodo Newton Raphson Modificado\n\n');

x0=input('Ingrese el valor inicial: ');

tol=input('Ingrese el porcentaje de error: ');

syms x;

f=input('Ingrese la función: ');

i=1;

fx(i)=x0;

ea(1)=100;

syms x;

%primera derivada

f1=subs(f,x,fx(i)); % aqui calculamos la primer derivada

z=diff(f);

%segunda derivada

d=subs(z,x,fx(i));

zz=diff(z);

dd=subs(zz,x,fx(i));

fprintf('Funcion: %s \n',f)

fprintf('Primera Derivada: %s \n',z)

fprintf('Segunda Derivada: %s \n',zz)

fprintf('Xi : %d \n',x0)

fprintf('Tolerancia error: %.7f \n',tol)

while abs(ea(i))>=tol; % en esta parte calcularemos ya el valor absoluto

fx(i+1)=fx(i)-((f1*d)/(d^2-(f1*dd)));
f1=subs(f,x,fx(i+1));

d=subs(z,x,fx(i+1));

dd=subs(zz,x,fx(i+1));

ea(i+1)=abs((fx(i+1)-fx(i))/fx(i+1)*100);

i=i+1;

end

fprintf(' i fx(i) Error aprox (i) \n');

for j=2:i;

fprintf('%2d \t %11.10f \t %7.7f \n',j-1,fx(j),ea(j)); % para que nos muestre el resultado de las
interaciones

end

ezplot(f),grid on

EJEMPLO=====

Dame la funcion f(x) : exp(x)-x-1

Dame la derivada de funcion f(x) : exp(x)-1

Dame la segunda derivada de funcion f(x) : exp(x)

Dame el valor inicial de x : 0.5

Dame el porciento del error : 10^(-5)

También podría gustarte