NEWTON

NEWTON

martes, 20 de septiembre de 2011

Cuarto Pograma: Punto Fijo

PUNTO FIJO:
El método de punto fijo se aplica para ecuaciones de la forma x = g(x). Se parte de un punto inicial x0 y se aplica la fórmula xn+1 = g(xn) para n ¸ 0 en caso de que exista limn!1xn = p, si g es continua en este valor p se tiene que: p = limn!1xn = limn!1g(xn−1) = g(limn!1xn−1) = g(p) donde p sería la solución buscada.

Codigo para Octave:

%Metodo De Punto Fijo
disp('METODO :  DE : PUNTO : FIJO');
disp('por:');
disp('Carolina Perez Gaviria');
disp('Jennifer Olano Arrieta');
disp('Carlos Trujillo');
disp('  ');
format long
Xo=input('ingrese el valor inicial: ');
Iter=input('ingrese el numero de iteraciones: ');
Tol=input('ingrese la tolerancia deseada: ');
Fun=input('Indique la funci—n entre comillas: ');
G=input('ingrese la funcion despejada entre comillas = ','s');
f=inline(Fun);
g=inline(G);
Y1=f(Xo);
if Y1==0
    fprintf('Xo es raiz: ');
else
    Error=Tol+1;
    Cont=0;
    A=[Cont,Xo,Y1,Error];
    while Y1~=0 & Error>Tol & Cont<Iter 
        X1=g(Xo);                       
        Y1=f(X1);                       
        Error=abs((X1-Xo)/X1);          
        Cont=Cont+1;                  
        A(Cont,1)=Cont;                 
        A(Cont,2)=Xo;                    
        A(Cont,3)=X1;                   
        A(Cont,4)=Y1;                   
        A(Cont,5)=Error;               
        Xo=X1;                          
    end
    if Y1==0
        fprintf('X1 es raiz: ');
    else
        if Error<Tol
            fprintf('La raiz es %g con un error de %g: ',X1,Error);
        else
            fprintf('numero maximo de Iteraciones: ');
        end
    end
    fprintf(' Xo,         X1,         Y1,         Error: ')
    disp(A)
end

 

No hay comentarios:

Publicar un comentario