您的位置:首页 > 编程语言 > MATLAB

二分法求解方程的值 matlab

2016-04-05 11:18 639 查看
首先定义一个二分求根的函数:

function root=bisect(fun,a,b,eps)
n=1+round((log(b-a)-log(eps))/log(2));
fa=feval(fun,a);fb=feval(fun,b);
for i=1:n
c=(b+a)/2;
fc=feval(fun,c);
if fc*fa<0
b=c;fb=fc;
else
a=c;fa=fc;
end
end
root=c;


其次再控制栏进行调用,所调用的函数必须满足二分求根的条件;也就是在该区间内有且只有一个根存在,调用方式如下:

format long; %调整输出精度,显示15位双精度,7为单精度
>> f=inline('x^2+x-1');%定义运算函数
>> eps=1e-3;a=0;b=1;
>> root=bisect(f,a,b,eps)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: