董華楠



【摘要】本文利用計(jì)算機(jī),借助Matlab工具,對求方程數(shù)值解常用的二分法、不動點(diǎn)法和牛頓法進(jìn)行探析比較,得出直觀結(jié)論,為相關(guān)知識的理解和運(yùn)用提供了依據(jù).
【關(guān)鍵詞】Matlab;方程數(shù)值解;迭代法
很多數(shù)學(xué)問題都可歸結(jié)為方程問題求解,一般方程又很難求得其解析解,而處理某些實(shí)際問題時需要近似解即可,所以研究方程的數(shù)值解法是有效解決問題的關(guān)鍵.在求解非線性方程的方法中,迭代法是求非線性方程(非線性方程組)數(shù)值解的一種重要的方法.而二分法、不動點(diǎn)迭代法和牛頓迭代法等都是較常用的迭代方法.因此,深入了解和掌握不同迭代方法的特點(diǎn)與差別,有助于相關(guān)問題的解決.
引言
檢驗(yàn)和比較不同迭代算法的常用方法就是針對特定模型(方程)進(jìn)行迭代逼近計(jì)算,借助計(jì)算機(jī)是行之有效的手段.在此,通過編寫Matlab程序,分別用二分法、不動點(diǎn)法和牛頓迭代法求非線性方程ex-x3=0的數(shù)值解,觀察其逼近速度,進(jìn)行比較分析,從而得出結(jié)論.
行的Matlab軟件是安裝在Win7系統(tǒng)下的R2011b版本.
由上表中的數(shù)字對比,可顯然看出,三種迭代算法中,牛頓迭代法速度最快,不動點(diǎn)迭代法次之,二分法較慢.雖然在選取迭代初值或區(qū)間時有一定的主觀因素,但基本上能反映出三種迭代法的主要差別.
四、結(jié)論
綜合上述結(jié)果,同時結(jié)合三種迭代方法的各自結(jié)構(gòu)特點(diǎn),可以得出:二分法簡單易用,對f(x) 要求不高,只要連續(xù)即可,但無法求復(fù)根及偶重根,且收斂速度慢,多用于為其他求根方法提供初始近似值;不動點(diǎn)迭代法逐次逼近,將隱式方程歸結(jié)為顯式計(jì)算,顯式關(guān)系式的結(jié)構(gòu)直接影響到點(diǎn)列的斂散性,選取不當(dāng)則得不到方程的數(shù)值解(即使方程有根);牛頓迭代法正是將局部線性化的方法用于求解方程,牛頓迭代法的最大優(yōu)點(diǎn)是收斂速度快,具有二階收斂.了解了三種迭代法的特點(diǎn),便于有效地加以運(yùn)用.
【參考文獻(xiàn)】
[1]王家文,王皓,劉海.Matlab7.0編程基礎(chǔ)[M].機(jī)械工業(yè)出版社,2005:143-154.
[2]蘇金明,阮沈勇.Matlab實(shí)用教程[M].電子工業(yè)出版社,2005:94-101.
[3]于潤偉.Matlab基礎(chǔ)及應(yīng)用[M].機(jī)械工業(yè)出版社,2003:107-112.