Está en la página 1de 1

function [xr,ea]=bisect(xl,xu,imax,F)

iter=0;
es=0.00019;
ea=1;
xr=0;
while ea>es && iter<imax
xrold=xr;
xr=(xl+xu)/2;
iter=iter+1;
R=subs(F,xl)*subs(F,xr);
if xr~=0
ea=abs((xr-xrold)/xr);
end
if R<0
xu=xr;
elseif R>0
xl=xr;
elseif R==0
ea=0;
end
end

EJEMPLO
>> syms x
>> F=(x^2)-3
>> [xr,ea]=bisect(0,2,20,F)
xr =
1.7322
ea =
1.4094e-04
>> F=(x^5)-1
>> [xr,ea]=bisect(0,2,20,F)
xr =
1
ea =
0
>> [xr,ea]=bisect(0,2,20,F)

También podría gustarte