Vous êtes sur la page 1sur 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

f(x)

===================================
1

2.4798483037 -0.0218855472

2.5049642923 -0.0010163839

2.5061279589 -0.0000468205

===================================
la raiz aproximada es: 2.506127958861450
El Valor de f(P) es: -0.0000468205

Vous aimerez peut-être aussi