趙培玉,吳素文,馮大光,于 淼(沈陽農(nóng)業(yè)大學理學院,遼寧 沈陽 110866)
超越方程的數(shù)值計算方法與收斂速度分析
趙培玉,吳素文,馮大光,于 淼(沈陽農(nóng)業(yè)大學理學院,遼寧 沈陽 110866)
二分法與迭代法是解決超越方程求根問題的主要數(shù)值計算方法。首先介紹了二分法,并在迭代法基本理論的基礎上介紹了牛頓迭代法與埃特金加速迭代法;然后借助C語言分別采用二分法、牛頓迭代法、埃特金加速迭代法對一個超越方程進行數(shù)值了求解;最后對這3種方法的收斂速度進行了對比分析。結(jié)果表明,牛頓迭代法與埃特金加速迭代法收斂速度基本相同,二分法收斂速度最慢;求解超越方程的數(shù)值解法對于求解其他的方程求根問題具有一定的參考價值。
超越方程:二分法;牛頓迭代法;埃特金加速迭代法
現(xiàn)實生活中的許多工程實際問題轉(zhuǎn)化為數(shù)學問題之后,往往變成方程的求根問題。由于實際問題的復雜性,得到的方程往往是高次代數(shù)方程、微分方程以及超越方程,這些方程的求解有一個共同的特點,就是沒有一個一般的解析表達式。隨著計算機技術(shù)的發(fā)展,可以采用數(shù)值計算的方法來快速、方便地給出這些方程的近似解[1]。
二分法是以根的存在性定理為依據(jù),將有根區(qū)間進行逐步縮小而求解方程的近似解的數(shù)值計算方法。因此,用二分法進行求解必須確定方程的根所在的區(qū)間。迭代法是一種逐步逼近的方法,通過迭代得到滿足一定精度的方程的近似解。用迭代法求解方程的近似解首先將方程進行等價轉(zhuǎn)換來構(gòu)造迭代函數(shù);然后根據(jù)構(gòu)造的迭代函數(shù)生成迭代序列;最后求解滿足一定精度的方程的近似解[2-3]。采用數(shù)值方法進行方程的求解最為關(guān)心的問題是收斂速度問題,它是判斷該種算法優(yōu)劣的一個非常重要的指標[4-6]。
定理1(根的存在性定理) 如果f(x)在閉區(qū)間[a,b]內(nèi)連續(xù),且f(a)f(b)lt;0,則必存在x*∈(a,b)滿足f(x*)=0。
根據(jù)根的存在性定理,可以采用二分的思想進行超越方程根的求解:將存在方程的根的區(qū)間[a,b]進行對分,通過檢驗對分點處的函數(shù)f(x)值的符號,將有根區(qū)間[a,b]進行減半,根據(jù)根的存在性定理,選擇有根區(qū)間;再次將有根區(qū)間按照同樣的方法進行對分,再次選擇有根區(qū)間。按照這樣的步驟依次進行下去,直到剩下的區(qū)間長度充分小時,便可以得到超越方程的近似解。
根據(jù)方程f(x)=0,將該方程轉(zhuǎn)化為與之同解的方程:
x=φ(x)
(1)
選擇迭代初值x0,代入方程(1)得x1=φ(x0),這樣依次迭代下去,得xn=φ(xn-1),其中n取1,2,…。若得到的序列{xn}有極限,記極限值為x*,即:
(2)
由式(2)可知x*即為方程f(x)=0的一個根。如果得到的序列{xn}發(fā)散,那么迭代發(fā)散,需要選擇其他的迭代方法進行方程根的數(shù)值求解。
2)埃特金加速迭代法 牛頓迭代法需要求解函數(shù)的導數(shù),這給異常復雜的方程求根帶來了很大的麻煩,降低了大型方程求根的計算效率。為了避免求導運算,埃特金提出了埃特金加速迭代法。
(3)
記方程(3)表示的直線與直線y=x的交點坐標為(x1,x1),則:
(4)
(5)
埃特金加速迭代法的算法流程圖如圖2所示。
圖1 牛頓迭代法算法流程圖
圖2 埃特金加速迭代法算法流程圖
例1求超越方程為x-e-x=0在閉區(qū)間[0.5, 1]內(nèi)的近似解。
解采用C語言用二分法、牛頓迭代法和埃特金加速迭代法3種迭代算法對超越方程x-e-x=0進行編程求解,上機運行后得到的結(jié)果如表1所示。為了比較收斂的速度,3種迭代算法的初值x0=0.5。由表1可見,對于超越方程x-e-x=0的根的求解,采用二分法收斂速度最慢,牛頓迭代算法與埃特金加速迭代算法收斂速度基本一樣。但是對于大型的超越方程的求解,由于牛頓迭代算法每次均要求解函數(shù)的導數(shù)值,這必然影響計算的效率,而埃特金加速迭代算法則避免了這一問題。
表1 3種方法所得結(jié)果比較表
采用二分法、牛頓迭代算法以及埃特金加速迭代算法對超越方程進行了數(shù)值求解,求解結(jié)果表明,二分法收斂速度最慢,牛頓迭代算法與埃特金加速迭代算法對于簡單的超越方程的求根問題收斂速度基本相同,而埃特金迭代算法優(yōu)于牛頓迭代算法的地方是避免了函數(shù)的求導運算,對于大型的超越方程求解具有一定的優(yōu)勢。筆者采用的分析方法對于求解高次方程的求根問題具有一定的參考價值。
[1]馬正飛. 數(shù)學計算方法與軟件的工程應用[M]. 北京:化學工業(yè)出版社,2002.
[2]李慶揚,王能超,易大義. 數(shù)值分析[M]. 北京: 清華大學出版社,斯普林格出版社,2001.
[3]徐濤. 數(shù)值計算方法[M].長春:吉林科學技術(shù)出版社,1998.
[4]高建強, 薛薇. 牛頓迭代法收斂速度分析[J]. 鄭州輕工業(yè)學院學報(自然科學版),2005,20(4):100-102.
[5]張菁,張麗梅. 迭代法收斂速度的比較[J]. 渤海大學學報(自然科學版),2007,28(2):163-165.
[6]李俐玲. 非線性代數(shù)方程的數(shù)值計算及收斂速度分析[J]. 綿陽師范高等??茖W校學報,2002,21(2):15-18.
[編輯] 洪云飛
O241
A
1673-1409(2012)05-N001-02
10.3969/j.issn.1673-1409(N).2012.05.001
2012-02-26
國家自然科學基金項目(71001018)。
趙培玉(1982-),男,2004年大學畢業(yè),碩士,助教,現(xiàn)主要從事計算數(shù)學方面的教學與研究工作。