Está en la página 1de 5

6.

- Implemente los algoritmos correspondientes a los métodos: de bisección, falsa


posición; en lenguaje de MATLAB.

METODO DE BISECCION

% metodo de biseccion
a= input('ingrese extremo izquierdo del intervalo')
b= input('ingrese extremo derecho del intervalo')
TOL= input('ingrese tolerancia para el error absoluto')
NO= input('ingrese numero maximo de iteraciones')
I=1;
FA=fun(a);
while (I<=NO);
p=a + (b-a)/2;
FP=fun(p);
if FP==0 | (b-a)/2<TOL;
disp("procedimiento completado satisfactoriamente")
disp("una raiz de la funcion es: ")
p
return
end
I=I+1;
if FA*FP>0 ;
a=p;
FA=FP ;
else
b=p;
end
end
fprintf("el metodo fracaso despues de NO=%d iteraciones, NO");
disp("el procedimiento fracaso")

 Donde :
Y=fun(x) ; esta función definida para cada uno de los ejercicios del 1 al 5.
METODO DE FALSA POSICION

% metodo de falsa posicion


a= input('ingrese extremo izquierdo del intervalo:');
b= input('ingrese extremo derecho del intervalo:');
TOL= input('ingrese tolerancia para el error absoluto:');
NO= input('ingrese el numero maximo de iteraciones:');
I=2;
r=func(a);
s=func(b);
while (I<=NO);
p=b-s*(b-a)/(s-r);
if (abs(p - b) < TOL);
fprintf("procedimiento terminado satisfactoriamente en %d iteraciones, \n",I);
disp("una raiz de la funcion es: ");
p
return
end
I=I+1;
q=func(p);
if q*s<0 ;
a=b;
r=s;
else
b=p;
s=q;
end
end
fprintf("el metodo fallo despues de NO iteraciones, NO=%d", NO)
disp("el metodo fracaso")

*Donde: y=func(x); siendo func(x) un código que representa a todas las funciones de los
ejercicios del 1 al 5.
14.- Implemente los algoritmos correspondientes a los métodos de: Iteración de punto
fijo, Newton - Raphson y la secante; en lenguaje de MATLAB.

METODO DE PUNTO FIJO

% metodo de punto fijo


gx= input('ingrese la funcion igualada a:','s');
g=inline(gx);
x=input('ingrese el x inicial: ');
NO=input('ingrese el numero maximo de iteraciones a alcanzar: ');
error=input('ingrese el valor del error tolerado:');
i=1;
fprintf('i \t x \t \t e \n');
fprintf('0 \t %t \n',x);
while (i<=NO)
a=x;
x=g(a);
e=(abs(x-a));
fprintf('%d \t %1.7f \t %f \n',i,x,e);

if (e<=error)
i=NO+1;
end
i=i+1;
end
fprintf('la aproxinacion es: %1.7f con un error de: %f \n',x,e)
METODO DE NEWTON – RAPHSON

% metodo de newton raphson


g=input('ingrese la funcion ','s');
syms x
dg=diff(g,x);
f=inline(g);
df=inline(dg);
x=input('por favor ingrese la primera aproximacion:');
NO=input('ingrese el numero maximo de iteraciones');
tol=input('ingrese el error de tolerancia: ');
i=0;

fprintf('Itera \t Valor \t Error\n');


fprintf('0 \t %1.6f \t \n',x);
while i<=NO
i=i+1;
e=x;
x=x-(f(x)/df(x));
if (f(x)==0)
fprintf('%d \t %1.6f \t 0\n',i,x)
i=NO+1;
else
e=abs(x-e);
fprintf('%d \t %1.6f \t %1.7\n',i,x,e);
if (e<=tol)
i=NO+1;
end
end
end
fprintf('la aproxinacion es: %1.7f con un error de: %f \n',x,e)
METODO DE LA SECANTE

% metodo de la secante
a= input('ingrese extremo izquierdo del intervalo');
b= input('ingrese extremo derecho del intervalo');
TOL= input('ingrese la tolerancia para el error absoluto');
NO= input('ingrese el numero maximo de iteraciones');
I=2;
r=fun(a);
s=fun(b);
while (I<=NO);
p=b-s*(b-a)/(s-r);
if (abs(p-b)<TOL);
fprintf("procedimiento terminado satisfactoriamente en %d iteraciones, \n",I)
disp("una raiz de la funcion es: ")
p
return
end
I=I+1;
a=b;
r=s;
b=p;
s=q;
end
fprintf("el metodo fallo despues de NO iteraciones, NO=%d",NO)
disp("el metodo fracaso")

*Donde: y=fun(x) ; para todas las funciones de los ejercicios del 7 al 13.

También podría gustarte