function [val,n]=ErFen_Root(f,x,dalt)
% [val,n]=ErFen_root(f,x,dalt)
% f 要求根函数名
% x 初试有根区间
% dalt 精度,默认为10-5
% val 返回所得根
% n 跌代次数
if nargin<3
dalt=1e-5;
end
ab=x;i=0;x0=sum(ab)/2;
fa=feval(f,ab(1));
fb=feval(f,ab(2));
fx0=feval(f,x0);
while abs(fa-fb)>=dalt
i=1+i;
disp([ab(1) x0 ab(2) fa fx0 fb ]);% 显示跌代过程 if fx0*fa<0
ab(2)=x0;
fb=fx0;
else
ab(1)=x0;
fa=fx0;
end
x0=sum(ab)/2;
fx0=feval(f,x0);
if (ab(2)-ab(1))<2*eps
disp('May not be root!');
break;
end
end
val=x0;
if nargout==2
n=i;
end