二分法程序

二分法的程序
function result=half(a,b,tol)
c=(a+b)/2;k=1;
m=1+round((log(b-a)-log(2*tol))/log(2));
result=[];
while k<=m
result=[result;[k,c,f©]];
if f©==0
c=c;
return;
elseif f(a)*f©<0
b=(a+b)/2;
else
a=(a+b)/2;
end
c=(a+b)/2;k=k+1;
end
result=[result;[k,c,f©]];
end
% half(0,1,10^(-8))

function y=f(x)
y=2^(-x)-x;
% half(0,1,10^(-8));

你可能感兴趣的:(程序)