Está en la página 1de 1

clear,clc

syms x
funcion=input('Ingresa la función: ');
ecu=inline(funcion);
func=char(funcion);
inicio=input('Ingresa el valor inicial del gráfico: ');
final=input('Ingresa el valor final del gráfico: ');
fplot(func,[inicio,final],'r')
grid on
hold on
clc
disp('Método de bisección')
a=input('Ingresa el valor de a: ');
b=input('Ingresa el valor de b: ');
tol=input('Ingresa el valor de tolerancia en cifras fraccionarias: ');
fa=feval(ecu,a);
fb=feval(ecu,b);
clc
if fa*fb<0
xr_0=a;
fxr_0=fa;
iteracion=0;
ea=100;
while ea>tol
Fa=feval(ecu,a);
Fb=feval(ecu,b);
plot(a,0,'ro');
hold on
plot(b,0,'ro');
hold on
xr=(a+b)/2;
fxr=feval(ecu,xr);
ea=abs((xr-xr_0)/(xr))*100;
iteracion=iteracion+1;
if fxr*fa>0
a=xr;
fa=fxr;
xr_0=a;
fxr_0=fa;
plot(a,0,'ro')
hold on
elseif fxr*fa<0
b=xr;
fb=fxr;
xr_0=b;
fxr_0=fb;
plot(b,0,'ro')
hold on
else
xr;
end
end
else
msgbox({'No existe raíz en este rango'},'Error')
end

También podría gustarte