Sei sulla pagina 1di 1

fprintf('METODO NEWTON-RAPHSON\n'); %TITULO

syms f(x) %crea una variable simbolica


f(x)=input('Ingrese la funcion: '); % se ingresara la funcion
r0=input('ingrese la primera aproximacion: '); %se ingresa el primer punto o
raiz
tol=input('Ingrese la tolerancia: '); %valor del error minimo
aceptable
n=input('Ingrese numero maximo de iteraciones: '); %hasta cuantas iteraciones
df=diff(f,x); %derivada de f(x)
error=100; %para ingresar al while
i=0; %contador
ri=r0;
fprintf('iteraciones\t\t\t\tri\t\t\t\t\tri+1\t\t\t\terror\n'); %el
encabezado a imprimir
fprintf('%i\t\t\t\t%4.11f\t\t\t\t---------\t\t\t\t-----------\n',i,r0); %imprime
nuestros datos inciales
while(error>=tol && i<=n)
i=i+1;
rim1=ri-(f(ri)/df(ri)); %hallamos la nueva raiz
error=abs(((ri-rim1)/rim1)*100); %hallamos el error al
tratar de encontrar la raiz
fprintf('%i\t\t\t\t%4.11f\t\t\t\t%4.11f\t\t\t\t%4.11f\n',i,r0,rim1,error); %se
imprimen los valores hallados por el metodo newton
ri=rim1; %en caso no termine el
bucle se vuelve a repetir con una nueva raiz
end
fprintf('La raiz es %4.11f y el error es %4.11f\n',rim1,error); %se imprimen
los datos finales

Potrebbero piacerti anche