viernes, 4 de diciembre de 2009

Programa 2.3 (Metodo de la regula falsi o de la posicion falsa - pagina 66).

Programa 2.3 (Metodo de la regula falsi o de la posicion falsa - pagina 66).
% Aproximacion a una raiz de la ecuacion f(x)=0 en el intervalo [a,b].
% Puede usarse solo si f(x) es continua y f(a) y f(b) tienen distinto signo.
%
%
%Sintaxis
% regula(f,a,b,delta,epsilon,max1)
%
%Entrada
% - f es la funcion, introducida como una cadena de caracteres 'f'
% - a y b son el extremo izquierdo y el extremo derecho
% - delta es la tolerancia
% - epsilon es la tolerancia para el valor de f en el cero
% - max1 es el numero maximo de iteraciones
%Resultados
% - c es el cero
% - yc=f(c)
% - err es el error estimado de la aproximacion a c


x=a
ya=eval(f)
x=b
yb=eval(f)

if ya*yb>0
disp('Note: f(a)*f(b) >0'),
break,
end

for k=1:max1
dx=yb*(b-a)/(yb-ya);
c=b-dx;
ac=c-a;
x=c
yc=eval(f)
if yc==0,break;
elseif yb*yc > 0
b=c;
yb=yc;
else
a=c;
ya=yc;
end
dx=min(abs(dx),ac);
if abs(dx) < delta,break,end
if abs(yc) < epsilon, break,end
end

No hay comentarios:

Publicar un comentario