METODO DE LA BISECCION CON EJEMPLOS
GENERALIZACIÓN
% Método de la Bisección
function raiz=biseccion(fdex1,i,s)
error=0.01;
j=1;
fa=feval(fdex1,i);
fb=feval(fdex1,s);
r = (i+s)/2;
fr = feval(fdex1,r);
if fa*fb < 0
ep = 100;
ant=0;
fprintf(' i r s f(i) f(r) f(s) ep \n')
fprintf('-----------------------------------------------------------------------------------\n')
while abs(fr) > error
fa=feval(fdex1,i);
fb=feval(fdex1,s);
r = (i+s)/2;
fr = feval(fdex1,r);
fab = fa * fr;
ep = abs((r - ant) / r) *100;
fprintf('%5d %10.6f %10.6f %10.6f %10.6f %10.6f %10.6f %10.6f \n',j,i,r,s,fa,fr,fb,ep);
ant=r;
j=j+1;
if fa*fr<0
s=r;
else
i=r;
end
end
else
fprintf('Cambiar limites ');
end %End function
NOTA : EL GENERICO FUNCIONA PARA LOS DOS EJERCICIOS.
EJEMPLO 1
% Función: f(x) = X 4 - 2 X 3 - 12 X 2 + 16 X - 40
function y = fdex(x)
y= exp(-x^3)-2*x+1; con intervalo de 0.75 a 1
% Método de la Bisección
function raiz=biseccion(fdex1,i,s)
error=0.01;
j=1;
fa=feval(fdex1,i);
fb=feval(fdex1,s);
r = (i+s)/2;
fr = feval(fdex1,r);
if fa*fb < 0
ep = 100;
ant=0;
fprintf(' i r s f(i) f(r) f(s) ep \n')
fprintf('-----------------------------------------------------------------------------------\n')
while abs(fr) > error
fa=feval(fdex1,i);
fb=feval(fdex1,s);
r = (i+s)/2;
fr = feval(fdex1,r);
fab = fa * fr;
ep = abs((r - ant) / r) *100;
fprintf('%5d %10.6f %10.6f %10.6f %10.6f %10.6f %10.6f %10.6f \n',j,i,r,s,fa,fr,fb,ep);
ant=r;
j=j+1;
if fa*fr<0
s=r;
else
i=r;
end
end
else
fprintf('Cambiar limites ');
end %End function
NOTA : EL GENERICO FUNCIONA PARA LOS DOS EJERCICIOS.
EJEMPLO 1
% Función: f(x) = X 4 - 2 X 3 - 12 X 2 + 16 X - 40
function y = fdex(x)
y= exp(-x^3)-2*x+1; con intervalo de 0.75 a 1
EJEMPLO 2
% Función: f(x) = X 4 - 2 X 3 - 12 X 2 + 16 X - 40
function y = fdex(x)
y= ((x^2)+1)^(1/2)-tan(x); con intervalo de 0.5 a 1
% Función: f(x) = X 4 - 2 X 3 - 12 X 2 + 16 X - 40
function y = fdex(x)
y= ((x^2)+1)^(1/2)-tan(x); con intervalo de 0.5 a 1
Read Users' Comments (0)