焚烧垃圾的危害:请告诉我二分法求方程的源代码,谢谢

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/03 00:58:32
希望能得到解决谢谢啦 ^_^

http://www.shxxgz.com/yu/2003/6/jc6.htm

这有详细的程序代码和流程图!

前几天用Matlab写了一个
//将下列代码保存为bis.m,放在work下即可在matlab调用
//f为要求解的方程,可以用m文件方式或者字符串方式传入
//如:tan(pi*x)-6=0的根,则建立一个f1.m文件如下
//function f=f1(x)
//f=tan(pi*x)-6;
//调用bis('f',0,0.5,2000,eps)在[0,0.5]间求根
//而p0,p1为要求解的两区间端点,step为最大迭代步数
//tol为精度,调用时可使用matlab的零阈值eps
function root = bis(f,p0,p1,step,tol)
n = 0;
l = feval(f,p0);
r = feval(f,p1);
if (l*r<0)
while (abs(l)>tol) & (n<step)
mid = (p0+p1)/2;
l = feval(f,mid);
if (l*r>0)
p1 = mid;
else
p0 = mid;
end;
l = feval(f,p0);
r = feval(f,p1);
n = n+1;
end;
end;
root = p0;