MatLabMorena

miércoles, 27 de febrero de 2008

Metodo de Falsa Posicion

function falsaposicion
global fun
fprintf('\n metodo de la falsa posicion\n');
fun=input('\nIngrese la funcion:\n','s');
x0=input('\nIngrese el valor inferior del intervalo\n');
x1=input('\nIngrese el valor superior del intervalo\n');
tol=input('\nIngrese la tolerancia\n')
fprintf('\n it x0 x1 x2 f0 f1 f2 abs(f2)\n');
f2=1;
it=0;
x=x0;
f0=eval(fun);
x=x1;
f1=eval(fun);
if(f0*f1>0)
fprintf('\n En este intervalo no hay raices\n');
fprintf('\n Buscar otro intervalo \n');
return
end
while abs(f2)>tol
it=it+1;
x2=(x0*f1-x1*f0)/(f1-f0);
x=x2;
f2=eval(fun);
fprintf('\n%3.0f%12.7f%12.7f%12.7f%12.7f%12.7f%12.7f%12.7f\n',it,x0,x1,x2,f0,f1,f2,abs(f2));
if(f0*f2<0) x1="x2;f1=" x0="x2;f0=" es =" %10.7f\n',x2);" face="arial" color="#cc0000">


Ejemplo:

metodo de la falsa posicion

Ingrese la funcion:
3*x-2+exp(x)-x^2

Ingrese el valor inferior del intervalo
0
Ingrese el valor superior del intervalo

1
Ingrese la tolerancia

10^(-5)
tol =
1.0000e-005

itx0x1x2f0f1f2abs(f2)
1 0.0000000 1.0000000 0.2689414 -1.0000000 2.7182818 0.0430733 0.0430733
2 0.0000000 0.2689414 0.2578356 -1.0000000 0.0430733 0.0011537 0.0011537
3 0.0000000 0.2578356 0.2575385
-1.0000000 0.0011537 0.0000310 0.0000310
4 0.0000000 0.2575385 0.2575305 -1.0000000 0.0000310 0.0000008 0.0000008


La raiz buscada es = 0.2575305

2 comentarios:

Unknown dijo...

hola disculpa no me funcionan me salen muchos errores me podrias pasar los archivo gracias

Unknown dijo...

Esta segura q fubciona a mi no me sale