BUSQUEDAS INCREMENTALES:
Además de verificar una respuesta individual, se debe determinar si se han localizado todas las raíces posibles. Como se mencionó anteriormente, por lo general una gráfica de la función ayudará a realizar dicha tarea. Otra opción es incorporar una búsqueda incremental al inicio del programa. Esto consiste en empezar en un extremo del intervalo de interés y realizar evaluaciones de la función con pequeños incrementos a lo largo del intervalo. Si la función
cambia de signo, se supone que la raíz está dentro del subintervalo.
Codigo para Octave.
%Metodo De Busquedas
disp('METODO : BUSQUEDAS');
disp('por:');
disp('Carolina Perez Gaviria');
disp('Jennifer Olano Arrieta');
disp('Carlos Trujillo');
disp(' ');
format long
Xo=input('Indique el valor inicial: ');
Delta=input('Indique el (Delta): ');
Iter=input ('Cantidad de iteraciones: ');
Fun=input ('Coloque la funcion = ','s');
f=inline (Fun);
Yo=f(Xo);
if Yo==0
fprintf ('Xo es raiz: ');
else
X1=Xo+Delta;
Y1=f(X1);
Cont=1;
Z=[Cont,Xo,X1,Yo,Y1];
while Yo*Y1>0 & Cont<Iter
Xo=X1;
Yo=Y1;
X1=Xo+Delta;
Y1=f(X1);
Cont=Cont+1;
Z(Cont,1)=Cont;
Z(Cont,2)=Xo;
Z(Cont,3)=X1;
Z(Cont,4)=Yo;
Z(Cont,5)=Y1;
%las z son las posiciones asignadas en la tabla a los resultados que se
% observarán
end
if Y1==0
fprintf('X1 es raiz: ');
else
if Yo*Y1<0
fprintf ('El intervalo que contiene la raíz es[%g,%g]: ',Xo,X1);
else
fprintf ('No tiene raiz: ');
end
end
end
fprintf('Iteraciones Xo X1 Yo Y1: ');
disp(Z);
No hay comentarios:
Publicar un comentario