% Estimacion aproximada de la localizacion de una raiz de la ecuacion
% f(x)=0 en el intervalo [a,b] mediante el uso de puntos de muestra equiespaciados
% (x
% i) (y
% ii) y
% Esto es, o bien f(x
% y la pendiente de la curva y=f(x) cambia de signo cerca de (x
%
%
%Sintaxis
% approot (f,x,epsilon)
%
%Entrada
% - f es la funcion, entrada como cadena de caracteres
% - x es el vector de abscisas
% - epsilon es la tolerancia
%Resultados
% - R es el vector de raices aproximadas
Y=eval(f);
yrange = max(Y)-min(Y);
epsilon2 = yrange*epsilon;
n=length(x);
m=0;
x(n+1)=x(n);
Y(n+1)=Y(n);
for k=2:n,
if Y(k-1)*Y(k) <= 0,
m=m+1;
R(m)=(x(k-1)+x(k))/2
end
s=(Y(k)-Y(k-1))*(Y(k+1)-Y(k));
if (abs(Y(k)) < epsilon2) & (s <= 0),
m=m+1;
R(m)=x(k)
end
end
No hay comentarios:
Publicar un comentario