NEWTON

NEWTON

martes, 20 de septiembre de 2011

Primer Programa: Busquedas Incrementales

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