这篇文章主要介绍matlab如何实现二分法方程求根,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
假设函数 在区间 上连续,并且 ,此时就可以用二分法求解。
求解伪代码:
a1 = a;
b1 = b;
计算中点
如果 ,那么方程的解为 ,终止
如果
如果 ,
如果 ,
重复上述步骤2到4,直到满足误差,停止迭代。
, 是第n次迭代的结果,p为真实解。
方程 在区间【0,2】上的近似解。
;
所以区间缩放到【1,2】,
利用matlab计算如下:
% -------------- inputs -------------------f = @(x) 3*x^2-x-3;a = 0;b = 2;% tolerance / max iterTOL = 1e-4; NI = 50;% -------------------------------------------------------% STEP 1: initializationi = 1;fa = f(a);converge = false; % convergence flag% STEP 2: iterationwhile i<=NI% STEP 3: compute p at the i's stepp = a+(b-a)/2;fp = f(p);% STEP 4: check if meets the stopping criteriaif (abs(fp)<eps || (b-a)/2 < TOL) % eps is Matlab-machine zeroconverge = true; % bisection method converged!break; % exit out of while loopelse% STEP 5i = i+1;% STEP 6if fa*fp > 0a = p; fa = fp;elseb = p;endendend
以上是“matlab如何实现二分法方程求根”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。