% Aproximacion a una raiz de f(x)=0 a partir de un valor inicia p<0>
% mediante la iteracion
% p
%
%
%Sintaxis
% newton(f,df,p0,delta,epsilon,max1)
%
%Entrada
% - f es la funcion, introducida como una cadena de caracteres 'f'
% - df es la derivada de f, introducida como una cadena 'df'
% - p0 es la aproximacion inicial a un cero de f
% - delta es la tolerancia para p0
% - epsilon es la tolerancia para los valores de la funcion
% - max1 es el numero maximo de iteraciones
%Resultados
% - p0 es la aproximacion al cero, optenida con el metodo de Newton-Raphson
% - err es una estimacion dl error de p0
% - k es el numero de estimaciones realizadas
% - y es el valor de la funcion f(p0)
x=p0
for k=1:max1
p1=p0-feval(f,p0)/feval(df,p0);
disp(['p(',num2str(k),')=']);disp(p1);
err=abs(p1-p0);
relerr=2*err/(abs(p1)+delta);
p0=p1;
x=p0;
y=feval(f,p0)
if (err < delta) (relerr < delta) (abs(y) < epsilon),break,end
end
No hay comentarios:
Publicar un comentario