Está en la página 1de 2

function falsa_posicion(a,b,f,tol,n)

% donde:
% a,b = intervalo
% x0 = punto inocial
% f = la funcion
% f1 = la derivada de la funcion
% tol = tolerancia
% n = numero de veces que realiza el punto fijo
% prueba:falsa_posicion(1,2,'f',0.001,10)
% funcion f=x^3+2*x^2+10*x-20 en el intevalo [1,2]
u=feval(f,a);
v=feval(f,b);
if u*v > 0
disp('Su funcion es posible que no tenga ningun cero o sino reduzca
su intervalo')
return
end
disp('=================================================')
disp('iter x f(x) ')
disp('=================================================')
for k=1:n
c=b-v*((a-b)/(u-v));
w=feval(f,c);
if u*w < 0
b=c;
v=w;
else
a=c;
u=w;
end
fprintf(' %d \t %2.10f \t %2.10f\n',k,c,w)
if abs(w)<tol
break
end
end
disp('=================================================')
fprintf('la raiz aproximada es: %2.15f \n',c)
fprintf('El Valor de f(P) es: %2.10f \n',w)
function f=f(x)
f=x*log10(x)-1;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

>> falsa_posicion(2,3,'f',0.001,20)

===================================

iter x f(x)

===================================

1 2.4798483037 -0.0218855472

2 2.5049642923 -0.0010163839

3 2.5061279589 -0.0000468205

===================================

la raiz aproximada es: 2.506127958861450

El Valor de f(P) es: -0.0000468205

También podría gustarte