MATLAB使用二分法求方程近似根的例子例题

2020年12月14日16:23:27MATLAB使用二分法求方程近似根的例子例题已关闭评论

MATLAB使用二分法求方程近似根的例子例题

二分法原理:

将区域二分,根据零点定理,判断根在某个分段内,再进行二分,依此类推,重复进行,直到满足精度为止。

例题 使用二分法求方程x +x-1=0在[0,1]内的近似根(误差<10 -5 )。

解:

function y= exam2_1(m,n,er)

% 二分迭代程序[m,n]表示迭代初始区间,er表示误差

% y为向量,其分量表示在迭代过程中的各个区间中点

syms x xk

a=m;b=n;k=0;

ff=x^3+x-1;

while b-a>er

xk=(a+b)/2;

fx=subs(ff,x,xk);

fa=subs(ff,x,a);

k=k+1;

if fx==0

y(k)=xk;

break;

elseif fa*fx<0

b=xk;

else

a=xk;

end

y(k)=xk;

end

plot(y,'.-');

grid on

end

在命令窗口下执行:

>> ab=exam2_1(0,1,1e-5);

>> vpa(ab,8)

可以得到迭代区间中点数列ab,数值如下(见图2-1):

ans =

[0.5,0.75,0.625,0.6875,0.65625,0.671875,0.6796875,0.68359375,0.68164062,0.68261719,0.6

 

图2-1 二分迭代法(区间中点数列)

  • 版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。