王 承,張萬(wàn)勝,聶維琳
(惠州學(xué)院 數(shù)學(xué)系,廣東 惠州 516005)
在科學(xué)與工程計(jì)算中,經(jīng)常會(huì)遇到如下非線性問題的求解:f(x)=0。因此,尋求一種快速、高效的非線性方程求根方法是一個(gè)重要課題,其在某些實(shí)際問題中起著關(guān)鍵作用。對(duì)于一般非線性方程的求解,最早的有二分法,此外不動(dòng)點(diǎn)迭代方法、牛頓法、不動(dòng)點(diǎn)迭代加速方法、割線法及弦截法等。對(duì)于收斂的迭代過程,只要迭代足夠多次,就可以使結(jié)果達(dá)到任意的精度,但有時(shí)迭代過程收斂緩慢,從而使計(jì)算量變得很大,因此迭代過程的構(gòu)造加速是個(gè)重要的課題。在本文中,我們利用簡(jiǎn)單的迭代公式和幾個(gè)迭代加工公式構(gòu)造幾個(gè)新的迭代公式。通過計(jì)算驗(yàn)證,這幾個(gè)公式在非線性方程求根上有明顯的效果。
迭代法就是從一個(gè)或者幾個(gè)給定的初始值x0,x1,x2,…,xr出發(fā),按照某種指定的方法產(chǎn)生一個(gè)序列x0,x1,…,xr,xr+1,…,使得該序列收斂于方程f(x)=0的一個(gè)根x*,
即
由此我們可以看出來(lái),當(dāng)k足夠大時(shí),可以取xk作為x*的一個(gè)近似值。一般情況下,對(duì)于一種新的解法,為了考察它的有效性,都要討論它的計(jì)算量、收斂階、收斂速度和收斂效率,即考慮什么樣的條件構(gòu)造的序列是收斂的,以及序列中的近似解是按什么樣的誤差下降速度來(lái)逼近真實(shí)解的。
定理1[1]假定函數(shù)φ(x)滿足下列兩項(xiàng)條件:
10對(duì)任意x∈[a,b]
有
a≤φ(x)≤b,
20存在正數(shù)L<1,使對(duì)任意x∈[a,b]
有
則迭代過程xk+1=φ(xk)對(duì)于任何x0∈[a,b]均收斂于方程x=φ(x)的根x*。
根據(jù)定理1和迭代公式xk+1=φ(xk),我們構(gòu)造這樣的公式:
且
x∈[a,b], (3.1)
即
又
所以迭代公式(3.1)可以收斂。
下面,我們通過此公式來(lái)求f(x)=x3-x-1=0在x0=1.5附近的根x*。
根據(jù)(3.1)令1≤x≤2
得
如下表記錄了各步迭代的結(jié)果,可以看出,僅取6位數(shù)字的情況下,結(jié)果x13和x14完全相同,這時(shí)可以認(rèn)為x13是這個(gè)方程的根。
該公式通過幾次迭代后,可以得出所要求的根,說(shuō)明這個(gè)迭代公式確實(shí)可用來(lái)求解非線性方程的根,盡管其收斂速度較慢,我們可采用以下所做的加速方法對(duì)此進(jìn)行加速。另外,通過幾次驗(yàn)算,可以發(fā)現(xiàn),用這個(gè)公式求根的快慢與x的范圍選擇也有一定關(guān)系。
設(shè)x*是f(x)的根,考慮迭代過程中當(dāng)k充分大時(shí)可以認(rèn)為
解得
公式可變?yōu)?/p>
這樣就構(gòu)造出一個(gè)新的迭代加速公式。
我們通過公式(3.2)來(lái)求方程x=e-x在x=0.5附近有一個(gè)根。
根據(jù)公式
通過計(jì)算得出如下表結(jié)果:
由表可以得到,該方程的根為0.56714。
加速公式(3.2)是在原公式的基礎(chǔ)上對(duì)誤差進(jìn)行更精細(xì)分析得到,通過比較,加速公式(3.2)在求根的速度上比原迭代公式求根快,加速效果明顯。同時(shí),該方法具有一定推廣性。
由迭代公式加速公式
得
令
考慮將之再次進(jìn)行上述加速可得如下公式
即
這樣我們就得到迭代公式(4.2)。
下面我們來(lái)求解方程x=e-x在x=0.5附近的一個(gè)根。
解:由于根在x=0.5附近,
則有
L=(e-x)′≈-0.6。
又因?yàn)?/p>
通過計(jì)算得出下表結(jié)果。
這樣我們可以得出該方程的根為0.56714。
新的公式(4.2)是將原來(lái)的加速結(jié)果進(jìn)行了再一次同樣的加速。與原迭代公式求根速度對(duì)比,新的公式求根的加速效果相當(dāng)明顯。
由迭代加速公式
則有
令
得
因此,我們就得到迭代公式(3.4)。
我們用公式(3.4)來(lái)求下面一個(gè)方程
解:可以看出這個(gè)方程的迭代公式是發(fā)散的。
根據(jù)
取x0=1.5,計(jì)算結(jié)果如表
我們看到,用上面公式可以獲得相當(dāng)好的收斂效果。
與上一種改進(jìn)方法相近,本節(jié)中新的公式也是在原有的埃特金加速方法基礎(chǔ)上,進(jìn)一步進(jìn)行同樣過程的加速而得到,對(duì)結(jié)果進(jìn)行比較,盡管迭代公式形式較為復(fù)雜,但在求根速度上確實(shí)有顯著加快。
關(guān)于線性方程的解法和理論已經(jīng)有了深入的研究,迭代法是解非線性方程的常用方法,也是數(shù)值分析中的一種基本方法。本文首先構(gòu)造了一個(gè)最直接的新迭代公式,而后三個(gè)新的公式都是非線性方程求根加速的方法,在一定的程度上能夠在求根中進(jìn)行加速。通過實(shí)驗(yàn)分析,得到了這些算法比原來(lái)的算法收斂速度加快,顯示出這些新的算法對(duì)于減少計(jì)算量,提高計(jì)算效率的重要的實(shí)際意義。
[1]李洋洋.非線性方程的迭代解法研究[D].合肥:合肥工業(yè)大學(xué),2012.
[2]王公俊.非線性方程迭代方法的研究[D].合肥:合肥工業(yè)大學(xué),2012.
[3]錢凌志,蔡慧萍.非線性方程求根的加權(quán)迭代法[J].科技信息,2009,10:416.
[4]胡麗瑩,肖蓬.非線性方程求根的一種新算法[J].福建師范大學(xué)學(xué)報(bào):自然科學(xué)版,2009,03:26-28.
[5]聶存云,李珍輝.非線性方程求根的一種新方法[J].揚(yáng)州大學(xué)學(xué)報(bào):自然科學(xué)版,2010,02:17-19.
[6]陳躍輝.非線性方程求根的新算法[J].漳州師范學(xué)院學(xué)報(bào):自然科學(xué)版,2006,03:1-3.
[7]張保祥.非線性方程求根簡(jiǎn)單迭代法的一種改進(jìn)[J].佳木斯大學(xué)學(xué)報(bào):自然科學(xué)版,2007,06:830-831.
[8]趙艷霞.非線性方程求根的迭代法研究[J].雞西大學(xué)學(xué)報(bào),2008,02:112-113.
[9]高虹霓,曹澤陽(yáng).一種新的非線性方程求根迭代法[J].空軍工程大學(xué)學(xué)報(bào):自然科學(xué)版,2002,02:84-86.