




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第7章非線性方程與方程組的數值解法7.1方程求根與二分法7.2不動點迭代法及其收斂性7.3迭代收斂的加速方法7.4牛頓法7.5弦截法與拋物線法7.6非線性方程組的數值解法
例如代數方程
x5-x3+24x+1=0,
超越方程
sin(5x2)+e-x=0.
對于不高于4次的代數方程已有求根公式,而高于4次的代數方程則無精確的求根公式,至于超越方程就更無法求出其精確的解,因此,如何求得滿足一定精度要求的方程的近似根也就成為迫切需要解決的問題,為此,本章介紹幾種常見的非線性方程的近似求根方法.引言主要討論單變量非線性方程
f(x)=0
(1.1)的求根問題,這里x∈R,f(x)∈C[a,b].在科學與工程計算中有大量方程求根問題,其中一類特殊的問題是多項式方程其中系數ai(i=0,1,,n)為實數.方程f(x)=0的根x*,又稱為函數f(x)的零點,它使得f(x*)=0,若f(x)可分解為f(x)=(x-x*)mg(x),其中m為正整數,且g(x*)≠0.當m=1時,則稱x*為單根,若m>1稱x*為(1.1)的m重根,或x*為函數f(x)的m重零點.若x*是f(x)的m重零點,且g(x)充分光滑,則當f(x)為代數多項式(1.2)時,根據代數基本定理可知,n次代數方程f(x)=0在復數域有且只有n個根(含復根,m重根為m個根).
n=1,2時方程的根是大家熟悉的,n=3,4時雖有求根公式但比較復雜,可在數學手冊中查到,但已不適合數值計算,而n≥5時就不能用公式表示方程的根.因此,通常對n≥3的多項式方程求根與一般連續函數方程(1.1)一樣都可采用迭代法求根.迭代法要求給出根x*的一個近似,若f(x)∈C[a,b]且f(a)f(b)<0,根據連續函數性質中的介值定理可知方程f(x)=0在(a,b)內至少有一個實根,這時稱[a,b]為方程(1.1)的有根區間.
例1
判斷方程
f(x)=x3-x-1=0的有根區間.x00.511.52f(x)---++
設f(x)在區間[a,b]上連續,f(a)·f(b)<0,則在[a,b]
內有方程的根.取[a,b]的中點
將區間一分為二.若f(x0)=0,則x0就是方程的根,否則判別根x*在x0
的左側還是右側.若f(a)·f(x0)<0,則x*∈(a,x0),令a1=a,b1=x0;若f(x0)·f(b)<0,則x*∈(x0
,b),令a1=x0,b1=b.
不論出現哪種情況,(a1,b1)均為新的有根區間,它的長度只有原有根區間長度的一半,達到了壓縮有根區間的目的.7.1方程求根與二分法
對壓縮了的有根區間,又可實行同樣的步驟,再壓縮.如此反復進行,即可的一系列有根區間套
由于每一區間都是前一區間的一半,因此區間[an,bn]的長度為若每次二分時所取區間中點都不是根,則上述過程將無限進行下去.當
n→∞
時,區間必將最終收縮為一點x*
,顯然x*就是所求的根.abx0x2abWhentostop?或不能保證
x
的精度x*2xx*
若取區間[an,bn]的中點作為x*的近似值,則有下述誤差估計式只要
n
足夠大,(即區間二分次數足夠多),誤差就可足夠小.
由于在偶重根附近曲線y=f(x)
為上凹或下凸,即f(a)與f(b)的符號相同,因此不能用二分法求偶重根.
例2
用二分法求例1中方程
f(x)=x3-x-1=0的實根,要求誤差不超過0.005.
解由例1可知x*∈(1,1.5),要想滿足題意,即:則要|x*-xn|≤0.005由此解得取n=6,按二分法計算過程見下表,x6=1.3242
為所求之近似根.nanbnxnf(xn)說明01234561.01.251.251.31251.31251.31251.32031.51.51.3751.3751.34381.32811.32811.251.3751.31251.34381.32811.32031.3242-+-++--(1)f(a)<0,
f(b)>0(2)根據精度要求,取到小數點后四位即可.
二分法的優點是算法簡單,且總是收斂的,缺點是收斂的太慢,故一般不單獨將其用于求根,只是用其為根求得一個較好的近似值.逐步搜索法
從區間[a,b]的左端點a
出發,按選定的步長h
一步步向右搜索,若f(a+jh)·f(a+(j+1)h)<0
(j=0,1,2,)則區間[a+jh,a+(j+1)h]內必有根.搜索過程也可從b開始,這時應取步長h<0.7.2不動點迭代法及其收斂性7.2.1不動點迭代法
將方程f(x)=0改寫為等價方程形式
x=(x).(2.1)若要求x*滿足f(x*)=0,則x*=(x*);反之亦然,稱x*為函數(x)的一個不動點.求f(x)的零點就等于求(x)的不動點,選擇一個初始近似值x0,將它代入(2.1)右端,即可求得
x1=(x0).可以如此反復迭代計算xk+1=(xk)
(k=0,1,2,).(2.2)
(x)稱為迭代函數.如果對任何x0∈[a,b],由(2.2)得到的序列{xk}有極限則稱迭代方程(2.2)收斂.且x*=(x*)為(x)的不動點,故稱(2.2)為不動點迭代法.
當(x)連續時,顯然x*就是方程x=(x)之根(不動點).于是可以從數列{xk}中求得滿足精度要求的近似根.這種求根方法稱為不動點迭代法,稱為迭代格式,(x)稱為迭代函數,x0
稱為迭代初值,數列{xk}稱為迭代序列.如果迭代序列收斂,則稱迭代格式收斂,否則稱為發散.(幾何意義的解釋見下頁)xyy=xxyy=xxyy=xxyy=xx*x*x*x*x0p0x1p1x0p0x1p1x0p0x1p1x0p0x1p1分別按以上三種形式建立迭代公式,并取x0=1進行迭代計算,結果如下:
解對方程進行如下三種變形:
例1
用迭代法求方程x4+2x2-x-3=0
在區間[1,1.2]內的實根.準確根x*
=1.124123029,可見迭代公式不同,收斂情況也不同.第二種公式比第一種公式收斂快得多,而第三種公式不收斂.當方程有多個解時,同一個迭代法的不同初值也可能收斂到不同的根.
例1表明原方程化為x=(x)的形式不同,有的收斂,有的不收斂,有的發散.
例2表明同一個迭代法的不同初值可能收斂到不同的根.只有收斂的的迭代過程才有意義,為此我們首先要研究(x)的不定點的存在性及迭代法的收斂性.7.2.2不動點的存在性與迭代法的收斂性
首先考察(x)在[a,b]上不動點的存在唯一性.定理1
設(x)∈C[a,b]滿足以下兩個條件:
1o對任意x∈[a,b]有a≤(x)≤b.
2o存在正數L<1,使對任意x,y∈[a,b]都有則(x)在[a,b]上存在唯一的不動點x*.
證明先證不動點的存在性.若(a)=a或(b)=b,顯然(x)在[a,b]上存在不動點.因為a≤(x)≤b,以下設(a)>a及(b)<b定義函數顯然f(x)∈C[a,b],且滿足f(a)=(a)-a>0,f(b)=(b)-b<0,由連續函數性質可知存在x*∈(a,b)使f(x*)=0,即x*=(x*),x*即為(x)的不動點.
再證不動點的唯一性.設x1*,x2*∈[a,b]都是(x)的不動點,則由(2.4)得引出矛盾,故(x)的不動點只能是唯一的.
證畢.
在(x)的不動點存在唯一的情況下,可得到迭代法(2.2)收斂的一個充分條件.
定理2
設(x)∈C[a,b]滿足定理1中的兩個條件,則對任意x0∈[a,b],由(2.2)得到的迭代序列{xk}收斂到的不動點x*,并有誤差估計式
證明設x*∈[a,b]是(x)在[a,b]上的唯一不動點,由條件1o,可知{xk}∈[a,b],再由(2.4)得因0<L<1,故當k→∞時序列{xk}收斂到x*.下面證明估計式(2.5),由(2.4)有于是對任意正整數p有上述令p→∞,注意到limxk+p=x*(p→∞)即得(2.5)式.又由于對任意正整數p有上述令p→∞,及limxk+p=x*(p→∞)即得(2.6)式.證畢.
迭代過程是個極限過程.在用迭代法進行時,必須按精度要求控制迭代次數.誤差估計式(2.5)原則上確定迭代次數,但它由于含有信息L而不便于實際應用.而誤差估計式(2.6)是實用的,只要相鄰兩次計算結果的偏差足夠小即可保證近似值xk具有足夠精度.
對定理1和定理2中的條件2o可以改為導數,即在使用時如果(x)∈C[a,b]且對任意x∈[a,b]有則由微分中值定理可知對任意x,y∈[a,b]有故定理中的條件2o是成立的.
例如,在前面例3中采用的三種迭代公式,在隔根區間(1,1.2)內,有故前兩個迭代公式收斂,第三個迭代公式不收斂.7.2.3局部收斂性與收斂階
上面給出了迭代序列{xk}在區間[a,b]上的收斂性,通常稱為全局收斂性.有時不易檢驗定理的條件,實際應用時通常只在不動點x*的鄰近考察其收斂性,即局部收斂性.
定義1
設(x)有不動點x*,如果存在x*的某個鄰域R:|x-x*|≤δ,對任意x0∈R,迭代公式(2.2)產生的序列{xk}∈R,且收斂到x*,則稱迭代法(2.2)局部收斂.
定理3
設x*為(x)的不動點,在x*的某個鄰域連續,且,則迭代法(2.2)局部收斂.
證明由連續函數的性質,存在不動點x*的某個鄰域R:|x-x*|≤δ,使對于任意x∈R成立此外,對于任意x∈R,總有(x)∈R,這時因為于是依據定理2可以斷定迭代過程xk+1=(xk)對于任意初值x0∈R均收斂.證畢.
例4
用不同迭代法求方程x2-3=0的根.
解這里f(x)=
x2-3,可以改寫為各種不同的等價形式x=(x),其不動點為,由此構造不同的迭代法.取x0=2,對上式4種迭代法,計算三步所得結果入下表.kxk迭代法(1)迭代法(2)迭代法(3)迭代法(4)0123┆
x0x1x2x3┆23987┆21.521.5┆21.751.734751.732361┆21.751.7321431.732051┆
注意,從計算結果看到迭代法(1)及(2)均不收斂,且它們均不滿足定理3中的局部收斂條件,迭代法(3)和(4)均滿足局部收斂條件,且迭代法(4)比(3)收斂快,因在迭代法(4)中(x*)=0.為了衡量迭代法(2.2)收斂速度的快慢可給出以下定義.
定義2
設迭代過程xk+1=(xk)收斂于方程x=(x)的根x*,如果迭代誤差ek=xk-x*當k→∞時成立下列漸近關系式則稱該迭代法是p階收斂的.特別地,p=1時稱線性收斂,p>1時稱超線性收斂,p=2時稱平方收斂.
定理4
對于迭代過程xk+1=(xk),如果(p)(x)在所求根x*的鄰近連續,并且則該迭代過程在x*的鄰近是p階收斂的.
證明由于(x*)=0,根據定理3立即可以斷定迭代過程xk+1=(xk)具有局部收斂性.
再將(xk)在根x*處做泰勒展開,利用條件(2.8),則有注意到(xk)=xk+1,(x*)=x*,由上式得因此對迭代誤差,令k→∞時有這表明迭代過程xk+1=(xk)確實為p階收斂.證畢.
上述定理告訴我們,迭代過程的收斂速度依賴于迭代函數(x)的選取.如果x∈[a,b]但(x)≠0時,則該迭代過程只可能是線性收斂.7.3迭代收斂的加速方法7.3.1埃特金加速收斂方法
對于收斂的迭代過程,只要迭代足夠多次,就可以使結果達到任意的精度,但是有時迭代過程收斂較慢,從而使計算量變得很大,因此迭代過程的加速是個重要的課題.設x0是根x*的某個近似值,用迭代公式校正一次得
x1=(x0)而由微分中值定理,有假設(x)改變不大,近似地取某個近似值L,則有由于
x2-x*≈L(x1-x*).若將校正值x1=(x0)再校正一次,又得
x2=(x1)將它與(3.1)式聯立,消去未知的L,有由此推知
Aitken加速:xyy=xy=
φ(x)x*x0P(x0,x1)x1x2P(x1,x2)一般地有:比收斂得略快。在計算了x1及x2之后,可用上式右端作為x*的新近似,記作?x1,一般情形是由xk計算xk+1,xk+2,記它表明序列{?xk}的收斂速度比{xk}的收斂速度快.(3.2)式稱為埃特金(Aitken)△2加速方法.
可以證明也稱為埃特金(Aitken)外推法.可以證明:為線性收斂,則埃特金法為平方收斂;
這個加速迭代法也可寫成下面格式若為p(p>1)階收斂,導數連續,則埃特金法為2p–1
階收斂.的
p
階若例題求方程x=e–x
在x=0.5
附近的根.
解取x0=0.5,迭代格式x25=x26=0.5671433
若對此格式用埃特金法,則
得仍取x0=0.5,得由此可見,埃特金法加速收斂效果是相當顯著的.7.3.2斯蒂芬森(Steffensen)迭代法
埃特金方法不管原序列{xk}是怎樣產生的,對{xk}進行加速計算,得到序列{?xk}.如果把埃特金加速技巧與不動點迭代結合,則可得到如下的迭代法:稱為斯蒂芬森(Steffensen)迭代法.
實際上(3.3)是將不定點迭代法計算兩步合并成一步得到的,可將它寫成另一種不動點迭代其中
對不動點迭代(3.5)有以下局部收斂性定理.
定理5
若x*為(3.5)定義的迭代函數Ψ(x)的不動點,則x*為(x)的不定點.反之,若x*為(x)的不動點,設(x)存在,(x)≠1,則x*是Ψ(x)的不動點,且斯蒂芬森迭代法(3.3)是2階收斂的.7.4牛頓法7.4.1牛頓法及其收斂性
對于方程f(x)=0,如果f(x)是線性函數,則它的求根是容易的.牛頓法實質上是一種線性化方法,其基本思想是將非線性方程f(x)=0逐步歸結為某種線性方程來求解.
設已知方程f(x)=0有近似根x0,且在x0附近f(x)可用一階泰勒多項式近似,表示為當f(x0)≠0時,方程f(x)=0可用線性方程(切線)近似代替,即f(x0)+f(x0)(x-x0)=0.
(4.1)解此線性方程得得迭代公式此式稱為牛頓(Newton)迭代公式.牛頓法有顯然的幾何意義,方程f(x)=0的根x*可解釋為曲線y=f(x)與x軸交點的橫坐標.設xk是根x*的某個近似值,過曲線y=f(x)上橫坐標為xk的點Pk引切線,并將該切線與x軸交點的橫坐標xk+1作為x*的新的近似值.注意到切線方程為這樣求得的值xk+1必滿足(4.1),從而就是牛頓公式(4.2)的計算結果.由于這種幾何背景,所以牛頓迭代法也稱切線法.xyx*xky=f(x)xk+1PkPk+1xk+2牛頓迭代法的收斂性設x*是f(x)的一個單根,即f(x*)=0,f(x*)≠0,有牛頓迭代法的迭代函數為由定理4的(2.9)式可得由此得到,當x*為單根時,牛頓迭代法在根x*的鄰近是二階(平方)收斂的.關于x*為重根時,牛頓迭代法在根x*的鄰近的收斂性在后面討論.
定理(局部收斂性)
設fC2[a,b],若x*為f(x)在[a,b]上的根,且f(x*)0,則存在x*的鄰域U,使得任取初值x0U,牛頓法產生的序列{xk}收斂到x*,且滿足即有下面的局部收斂性定理.
解將原方程化為x–e–x=0,則牛頓迭代公式為取x0=0.5,迭代得x1=0.566311,x2=0.5671431,x3=0.5671433.
f(x)=x–e–x,f(x)=1+e–x,例7
用牛頓迭代法求方程x=e–x在x=0.5附近的根.7.4.2牛頓法應用舉例對于給定的正數C,應用牛頓法解二次方程我們現在證明,這種迭代公式對于任意初值x0>0都是收斂的.可導出求開方值的計算程序事實上,對(4.5)式施行配方整理,易知以上兩式相除得據此反復遞推有記整理(4.6)式,得對任意初值x0>0,總有|q|<1,故由上式推知,當k→∞時,即迭代過程恒收斂.注:Newton’sMethod收斂性依賴于初值x0
的選取。x*x0x0x07.4.3簡化牛頓法牛頓法的優點是收斂快,缺點①每步迭代要計算f(xk)及f(xk),計算量較大,且有時f(xk)計算較困難;②初始近似值x0只在根x*附近才能保證收斂,如x0給的不合適可能不收斂.為克服這兩個缺點,通??捎孟率龇椒?
簡化牛頓法,也稱平行弦法,其迭代公式為迭代函數為(x)=x-Cf(x).若|(xk)|=|1-Cf(x)|<1,即取0<Cf(x)<2.在根x*附近成立,則迭代法(4.7)局部收斂.在(4.7)中取C=1/f(x0),則稱為簡化牛頓法,這類方法計算量省,但只有線性收斂,其幾何意義是用平行弦與x軸交點作為x*的近似,見下圖.y=f(x)x0x1x2x*7.4.4重根情形當x*為f(x)的m(m>0)重根時,則f(x)可表為f(x)=(x-x*)mg(x).其中g(x*)≠0,此時用牛頓迭代法(4.2)求x*仍然收斂,只是收斂速度將大大減慢.事實上,因為迭代公式令ek=xk–x*,則可見用牛頓法求方程的重根時僅為線性收斂.從而有兩種提高求重根的收斂速度的方法:
1)
取如下迭代函數得到迭代公式求m重根具有2階收斂.但要知道x*的重數m.對f(x)=(x-x*)mg(x),g(x*)≠0,令函數則為求μ(x)=0的單根x*的問題,對它用牛頓法是二階(平方)收斂的.其迭代函數為
2)
將求重根問題化為求單根問題(去重數).從而構造出迭代方法為例8
用牛頓迭代法求函數
f(x)=(x-1)[sin(x-1)+3x]-x3+1=0
在0.95附近之根.
解取x0=0.95
用牛頓迭代法求得的xk見右表.可見xk收斂很慢.kxk01234560.950.97442790.98705830.99348780.99673280.99835760.9991901由重根數m=2,用(4.13)式加速法,作求得
x0=0.95,x1=0.9988559,x2=x3=1.收斂速度大大加快于直接用牛頓迭代公式.7.5弦截法與拋物線法用牛頓法求方程f(x)=0的根,每步除計算f(xk)外還要算f(xk),當函數f(x)比較復雜時,計算f(x)往往比較困難,為此可以利用已求函數值f(xk),f(xk-1),來回避導數值f(xk)的計算.這類方法是建立在插值原理基礎上的,下面介紹兩種常用方法.7.5.1割線(弦截)法設xk,xk-1是f(x)=0的近似根,我們利用f(xk),f(xk-1)構造一次插值多項式p1(x),并用p1(x)=0的根作為方程f(x)=0的新的近似根xk+1,由于因此有這樣導出的迭代公式(5.2)可以看做牛頓公式中的導數用差商取代的結果.
(5.2)式有明顯的幾何意義:
設曲線y=f(x)上橫坐標為xk-1和xk的點分別為Pk-1和Pk,則差商表示弦的斜率,弦的方程為Ox*xk+1xkPkxk-1yxPk-1因此,按(5.2)式求得xk+1實際上是兩點弦線與x軸交點的橫坐標(令y=0解出x即可).這種算法因此而形象地稱為割線(弦截)法.割線法與牛頓法(切線法)都是線性化分法,但兩者有本質的區別.牛頓法在計算xk+1時只用到前一步的值xk,而割線法要用到前面兩步的結果xk-1,xk,因此使用這種方法必須先給出兩個開始值x0,x1.
定理6
假設f(x)在根x*的鄰域內△:|x-x*|≤δ具有二階連續導數,且對任意x△有f(x)≠0,所取的初值x0,x1△,那么當鄰域△充分小時,弦截法(5.2)將按階收斂到x*.這里p是方程λ2-λ-1=0的正根.因為(5.2)式用到前兩點xk-1和xk的值,故此方法又稱為雙點割線法.每步只用一個新點xk的值,此方法稱為單點割線法.如果把(5.2)式中的xk-1改為x0,即迭代公式為
例題用牛頓迭代法和割線法求方程
f(x)=x4+2x2–x–3=0,在區間(1,1.5)內之根(誤差為10-9).
解取x0=1.5,用牛頓法,可得x6=1.12412303030取x0=1.5,x1=1,用雙點割線法,迭代6次得到同樣的結果,而采用單點割線法,則迭代18次得
x18=1.124123029.7.5.2拋物線法設已知方程f(x)=0的三個近似根xk,xk-1,xk-2,我們以這三點為節點構造二次插值多項式p2(x),并適當選取p2(x)的一個零點xk+1作為新的近似根,這樣確定的迭代過程稱為拋物線法,亦稱為密勒(Müller)法.在幾何圖形上,這種方法的基本思想是用拋物線y=p2(x)與x軸的交點xk+1作為所求根x*的近似位置.Ox*xk+1xky
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江省溫州市2025年高三下學期第一次月考生物試題試卷含解析
- 十堰市丹江口市2025屆四下數學期末檢測模擬試題含解析
- 山東蒙陰縣2024-2025學年初三月考(5)物理試題含解析
- 浙江師范大學《資產評估學B》2023-2024學年第二學期期末試卷
- 上海電力大學《可編程控制技術》2023-2024學年第二學期期末試卷
- 邵陽工業職業技術學院《物流系統規劃與設計A》2023-2024學年第一學期期末試卷
- 江蘇省南通市崇川區2025年第二學期初三年級期末質量調查生物試題含解析
- 浙江中醫藥大學濱江學院《醫學課程》2023-2024學年第二學期期末試卷
- 泉州工程職業技術學院《設計競賽》2023-2024學年第二學期期末試卷
- 錦屏縣2025年數學三下期末經典模擬試題含解析
- 敏捷項目管理與敏捷方法
- 《社會網絡分析法》課件
- 2024城鎮燃氣用環壓式不銹鋼管道工程技術規程
- word個人簡歷空白
- 2024年江蘇安東控股集團有限公司招聘筆試參考題庫含答案解析
- 防汛防洪裝備器材展示與操作演示
- 如何在Python中創建循環結構
- 《養成良好的行為習慣》主題班會課件
- 部編版六年級下冊道德與法治全冊教案
- 2023年10月自考00226知識產權法試題及答案含評分標準
- 四年級下冊勞動教育全冊教學課件
評論
0/150
提交評論