您好,登錄后才能下訂單哦!
這篇文章主要介紹matlab如何實(shí)現(xiàn)二分法方程求根,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
假設(shè)函數(shù) 在區(qū)間 上連續(xù),并且 ,此時(shí)就可以用二分法求解。
求解偽代碼:
a1 = a;
b1 = b;
計(jì)算中點(diǎn)
如果 ,那么方程的解為 ,終止
如果
如果 ,
如果 ,
重復(fù)上述步驟2到4,直到滿足誤差,停止迭代。
, 是第n次迭代的結(jié)果,p為真實(shí)解。
方程 在區(qū)間【0,2】上的近似解。
;
所以區(qū)間縮放到【1,2】,
利用matlab計(jì)算如下:
% -------------- 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如何實(shí)現(xiàn)二分法方程求根”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。