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
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库二分法及迭代法求解非线性方程根(4)在线全文阅读。
相关推荐: