algoritmos
Publicado por joan (3 intervenciones) el 21/06/2011 02:57:57
Buenas quisiera saber como se puede realizar el algoritmo de la regula falsa y el metodo de la secante...
Valora esta pregunta


0
function a =secante(fun,x0,x1,tol,maxiter)
% Aproxima por el método de la secante una raiz de la ecuacion fun(x)=0
%cercana a x0, tomando como criterio de parada abs(fun(x))<tol o la cota sobre
%el numero de iteraciones dada por maxiter.
%
% Variables de entrada:
% fun: funcion a calcular la raiz, se introduce en modo simbolico 'fun'
% x0, x1: estimaciones iniciales para el proceso de iteración
% tol: tolerancia en error absoluto para la raiz
% maxiter: maximo numero de iteraciones permitidas
%
% Variables de salida:
% a: valor aproximado de la raiz
fprintf(1, 'Metodo de la secante \n');
f0=subs(fun,x0);
f1=subs(fun,x1);
iter=1;
while(abs(f1)>tol) & (iter<maxiter)
a = x1-f1*((x1-x0)/(f1-f0)); % formula de iteracion
f0=f1; f1=subs(fun,a); %Actualiza f0 y f1
fprintf(1, 'iter= %i, a= %x0,f= %e \n', iter,a ,f1)
iter = iter + 1; % Cuenta los pasos
x0=x1; x1=a; % actualiza x
end
% Salida