版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第十三講常微分方程初值問題數(shù)值解法第1頁,課件共59頁,創(chuàng)作于2023年2月9.1引言科學技術中很多問題都可用微分方程的定解問題來描述,主要有初值問題與邊值問題兩大類,本章只考慮初值問題.常微分方程初值問題中最簡單的例子是人口模型,設某特定區(qū)域在t0時刻人口為y(t0)=y0已知的,該區(qū)域的人口自然增長率為,人口增長與人口總數(shù)成正比,所以t時刻的人口總數(shù)y(t)滿足以下微分方程第2頁,課件共59頁,創(chuàng)作于2023年2月很多物理系統(tǒng)與時間有關,從衛(wèi)星運行軌道到單擺運動,從化學反應到物種競爭都是隨時間的延續(xù)而不斷變化的.解常微分方程是描述連續(xù)變化的數(shù)學語言,微分方程的求解就是確定滿足給定方程的可微函數(shù)y(t),研究它的數(shù)值方法是本章的主要目的.考慮一階常微分方程的初值問題則稱f關于y滿足利普希茨(Lipschitz)條件,L稱為y的利普希茨常數(shù)(簡稱Lips.常數(shù)).如果存在實數(shù)L>0,使得第3頁,課件共59頁,創(chuàng)作于2023年2月
定理1
設f在區(qū)域D={(x,y)|axb,yR}上連續(xù),關于y滿足利普希茨條件,則對任意x0[a,b],y0R,常微分方程初值問題(1.1)式和(1.2)式當x[a,b]時存在唯一的連續(xù)可微解y(x).解的存在唯一性定理是常微分方程理論的基本內容,也是數(shù)值方法的出發(fā)點,此外還要考慮方程的解對擾動的敏感性,它有以下結論.
定理2
設f在區(qū)域D(如定理1所定義)
上連續(xù),且關于y滿足利普希茨條件,設初值問題的解為y(x,s),則第4頁,課件共59頁,創(chuàng)作于2023年2月這個定理表明解對初值依賴的敏感性,它與右端函數(shù)f有關,當f的Lips.常數(shù)L比較小時,解對初值和右端函數(shù)相對不敏感,可視為好條件.若L較大則可認為壞條件,即病態(tài)問題.如果右端函數(shù)可導,由中值定理有若假定在域D內有界,設,則它表明f滿足利普希茨條件,且L的大小反映了右端函數(shù)f關于y變化的快慢,刻畫了初值問(1.1)式和(1.2)式是否為好條件.這在數(shù)值求解中也是很重要的.第5頁,課件共59頁,創(chuàng)作于2023年2月雖然求解常微分方程有各種各樣的解析方法,但解析方法只能用來求解一些特殊類型的方程,實際問題中歸結出來的微分方程主要靠數(shù)值解法.所謂數(shù)值解法,就是尋求解y(x)在一系列離散節(jié)點上的近似值y1,y2,,yn,yn+1,.相鄰兩個節(jié)點的間距hn=xn+1-xn稱為步長.今后如不特別說明,總是假定hi=h(i=1,2,)為常數(shù),這時節(jié)點為xn=x0+nh(i=0,1,2,)(等距節(jié)點).第6頁,課件共59頁,創(chuàng)作于2023年2月初值問題的數(shù)值解法有個基本特點,他們都采取“步進式”,即求解過程順著節(jié)點排列的次序一步一步地向前推進.描述這類算法,只要給出用已知信息yn,yn-1,yn-2,計算yn+1的遞推公式.本章首先要對常微分方程(1.1)離散化,建立求解數(shù)值解的遞推公式.一類是計算yn+1時只用到前一點的值yn,稱為單步法.另一類是用到y(tǒng)n+1前面k點的值yn,yn-1,,yn-k+1,稱為k步法.其次,要研究公式的局部截斷誤差和階,數(shù)值解yn與精確解y(xn)的誤差估計及收斂性,還有遞推公式的計算穩(wěn)定性等問題.第7頁,課件共59頁,創(chuàng)作于2023年2月9.2簡單的數(shù)值方法9.2.1歐拉法與后退歐拉法我們知道,在xy平面上,微分方程(1.1)式的解y=f(x)稱作它的積分曲線,積分曲線上一點(x,y)的切線斜率等于函數(shù)f(x,y)的值.如果按f(x,y)在xy平面上建立一個方向場,那么,積分曲線上每一點的切線方向均與方向場在該點的方向相一致.基于上述幾何解釋,我們從初始點P0(x0,y0)出發(fā),先依方向場在該點的方向推進到x=x1上一點P1,然后再從P1點依方向場在該點的方向推進到x=x2
上一點P2,循環(huán)前進做出一條折線P0P1P2.第8頁,課件共59頁,創(chuàng)作于2023年2月一般地,設已做出該折線的頂點Pn,過Pn(xn,yn)依方向場的方向再推進到Pn+1(xn+1,yn+1),顯然兩個頂點Pn,Pn+1的坐標有關系這就是著名的(顯式)歐拉(Euler)公式.若初值y0已知,則依公式(2.1)可逐次逐步算出各點數(shù)值解.即第9頁,課件共59頁,創(chuàng)作于2023年2月
例1
用歐拉公式求解初值問題
解取步長h=0.1,歐拉公式的具體形式為其中xn=nh=0.1n(n=0,1,,10),已知y0=1,由此式可得第10頁,課件共59頁,創(chuàng)作于2023年2月依次計算下去,部分計算結果見下表.與準確解相比,可看出歐拉公式的計算結果精度很差.
xn
歐拉公式數(shù)值解yn準確解y(xn)
誤差
0.20.40.60.81.0
1.1918181.3582131.5089661.6497831.784770
1.1832161.3416411.4832401.6124521.732051
0.0086020.0165720.0257260.0373310.052719第11頁,課件共59頁,創(chuàng)作于2023年2月歐拉公式具有明顯的幾何意義,就是用折線近似代替方程的解曲線,因而常稱公式(2.1)為歐拉折線法.還可以通過幾何直觀來考察歐拉方法的精度.假設yn=y(xn),即頂點Pn落在積分曲線y=y(x)上,那么,按歐拉方法做出的折線PnPn+1便是y=y(x)過點Pn的切線.從圖形上看,這樣定出的頂點Pn+1顯著地偏離了原來的積分曲線,可見歐拉方法是相當粗糙的.第12頁,課件共59頁,創(chuàng)作于2023年2月為了分析計算公式的精度,通??捎锰├照归_將y(xn+1)在xn處展開,則有在yn=y(xn)的前提下,f(xn,yn)=f(xn,y(xn))=y(xn).于是可得歐拉法(2.1)的公式誤差為稱為此方法的局部截斷誤差.第13頁,課件共59頁,創(chuàng)作于2023年2月如果對方程(1.1)從xn到xn+1積分,得右端積分用左矩形公式hf(xn,y(xn))近似,再以yn代替y(xn),yn+1代替y(xn+1)也得到歐拉公式(2.1),局部截斷誤差也是(2.3).稱為(隱式)后退的歐拉公式.它也可以通過利用均差近似導數(shù)y(xn+1),即如果右端積分用右矩形公式hf(xn+1,y(xn+1))近似,則得到另一個公式直接得到.第14頁,課件共59頁,創(chuàng)作于2023年2月后退的歐拉公式與歐拉公式有著本質的區(qū)別,后者是關于yn+1的一個直接計算公式,這類公式稱作是顯式的;前者公式的右端含有未知的yn+1,它實際上是關于yn+1的一個函數(shù)方程,這類方程稱作是隱式的.顯式與隱式兩類方法各有特點,考慮到數(shù)值穩(wěn)定性等其他因素,人們有時需要選用隱式方法,但使用顯式算法遠比隱式方便.隱式方程(2.5)通常用迭代法求解,而迭代過程的實質是逐步顯式化.第15頁,課件共59頁,創(chuàng)作于2023年2月設用歐拉公式給出迭代初值
,用它代入(2.5)式的右端,使之轉化為顯式,直接計算得然后再用代入(2.5)式,又有如此反復進行,得第16頁,課件共59頁,創(chuàng)作于2023年2月由于f(x,y)對y滿足Lipschitz條件(1.3).由(2.6)減(2.5)得由此可知,只要hL<1,迭代法(2.6)就收斂到解yn+1.關于后退歐拉方法的公式誤差,從積分公式看到它與歐拉法是相似的.第17頁,課件共59頁,創(chuàng)作于2023年2月9.2.2梯形方法為得到比歐拉法精度高的計算公式,在等式(2.4)
右端積分用梯形求積公式近似,并用yn代替y(xn),yn+1代替y(xn+1),則得稱為矩形方法.矩形方法是隱式單步法,用迭代法求解,同后退的歐拉方法一樣,仍用歐拉法提供迭代初值,則矩形迭代公式為第18頁,課件共59頁,創(chuàng)作于2023年2月為了分析迭代過程的收斂性,將(2.7)與(2.8)相減,得于是有使得則當k→∞時有,這說明迭代過程(2.8)是收斂的.第19頁,課件共59頁,創(chuàng)作于2023年2月9.2.3改進的歐拉公式我們看到,梯形方法雖然提高了精度,但其算法復雜,在應用迭代公式(2.8)進行實際計算時,每迭代一次,都要重新計算函數(shù)f(x,y
)的值,而迭代又要反復進行若干次,計算量很大,而且往往難以預測.為了控制計算量,通常只迭代一兩次就轉入下一步的計算,這就簡化了算法.具體地說,我們先用歐拉公式求得一個初步的近似值,稱之為預測值,此預測值的精度可能很差,再用梯形公式(2.7)將它校正一次,即按(2.8)式迭代一次得yn+1,這個結果稱之為校正值.第20頁,課件共59頁,創(chuàng)作于2023年2月這樣建立的預測-校正系統(tǒng)通常稱為改進的歐拉公式:或表示為下列平均化形式(2.9)預測校正第21頁,課件共59頁,創(chuàng)作于2023年2月
例2
用改進的歐拉法解例1中的初值問題(2.2).
解仍取步長h=0.1,改進的歐拉公式為部分計算結果見下表
xnyn
誤差
xnyn誤差00.20.4
1.1.1840961.34336000.0000880.0017190.60.81.01.4859561.6164761.7378690.0027160.0040240.05818同例1中的歐拉法的計算結果比較,明顯改善了精度.第22頁,課件共59頁,創(chuàng)作于2023年2月9.2.4單步法的局部截斷誤差與階初值問題(1.1),(1.2)的單步法可用一般形式表示為其中多元函數(shù)與f(x,y
)有關,當含有yn+1時,方法是隱式的,若不含yn+1則為顯式方法,所以顯式單步法可表示為(x,y,h)稱為增量函數(shù),例如對歐拉法(2.1)有它的局部截斷誤差已由(2.3)給出,對一般顯式單步法則可如下定義.第23頁,課件共59頁,創(chuàng)作于2023年2月
定義1
設y(x)是初值問題(1.1),(1.2)的準確解,稱為顯式單步法(2.11)的局部截斷誤差.
Tn+1之所以稱為局部的,是假設在xn前各步沒有誤差.當yn=y(xn)時,計算一步,則有
所以,局部截斷誤差可理解為用方法(2.11)計算一步的誤差,也即公式(2.11)中用準確解y(x)代替數(shù)值解產生的公式誤差.根據(jù)定義,顯然歐拉法的局部截斷誤差為第24頁,課件共59頁,創(chuàng)作于2023年2月即為(2.3)的結果.這里稱為局部截斷誤差主項.顯然Tn+1=O(h2).一般情形的定義如下第25頁,課件共59頁,創(chuàng)作于2023年2月
定義2
設y(x)是初值問題的準確解,若存在最大整數(shù)p使顯式單步法(2.11)的局部截斷誤差滿足則稱方法(2.11)具有p階精度.若將(2.11)展開式寫成則稱為局部截斷誤差主項.第26頁,課件共59頁,創(chuàng)作于2023年2月以上定義對隱式單步法(2.10)也是適用的.例如,對后退歐拉法(2.5)其局部截斷誤差為這里p=1是1階方法,局部截斷誤差主項為第27頁,課件共59頁,創(chuàng)作于2023年2月同樣對梯形法(2.7)有所以梯形方法(2.7)是二階的.其局部截斷誤差主項為第28頁,課件共59頁,創(chuàng)作于2023年2月9.3龍格-庫塔方法
對許多實際問題來說,歐拉公式與改進歐拉公式精度還不能滿足要求,為此從另一個角度來分析這兩個公式的特點,從而探索一條構造高精度方法的途徑.
第29頁,課件共59頁,創(chuàng)作于2023年2月9.3.1顯式龍格-庫塔法的一般形式上節(jié)給出了顯式單步法的表達式(2.11),其局部截斷誤差為O(hp+1),對歐拉法Tn+1=O(h2),即方法為p=1階,若用改進的歐拉法(2.9)式,它可表示為此時增量函數(shù)為第30頁,課件共59頁,創(chuàng)作于2023年2月它比歐拉法的(xn,yn,h)=f(xn,yn),增加了計算一個右函數(shù)f的值,可望p=2.若要使得到的公式階數(shù)p更大,就必須包含更多的f
值.實際上從方程(1.1)等價的積分形式(2.4)
,即若要使公式階數(shù)提高,就必須使右端積分的數(shù)值求積公式精度提高,它必然要增加求積節(jié)點,為此可將(3.3)的右端用求積公式表示為第31頁,課件共59頁,創(chuàng)作于2023年2月一般說來,點數(shù)r越多,精度越高,上式右端相當于增量函數(shù)(x,y,h),為得到便于計算的顯式方法,可類似于改進歐拉法(3.1),(3.2),將公式表示為其中這里ci,i,ij均為常數(shù).(3.4)和(3.5)稱為r級顯式龍格-庫塔(Runge-Kutta)法,簡稱R-K方法.第32頁,課件共59頁,創(chuàng)作于2023年2月當r=1,(xn,yn,h)=f(xn,yn)時,就是歐拉法,此時方法的階為p=1.當r=2時,改進歐拉法(3.1)式就是其中的一種,下面將證明其階p=2.要使公式(3.4),(3.5)具有更高的階p,就要增加點數(shù)r.下面我們只就r=2推導R-K方法.并給出r=3,4時的常用公式,其推導方法與r=2時類似,只是推導計算較復雜.第33頁,課件共59頁,創(chuàng)作于2023年2月9.3.2二階顯式R-K方法對r=2的R-K方法,由(3.4),(3.5)式可得如下計算公式這里c1,c2,2,21均為待定常數(shù),我們希望適當選取這些系數(shù),使公式階數(shù)p盡量高.根據(jù)局部截斷誤差定義,推導出(3.6)的局部截斷誤差為第34頁,課件共59頁,創(chuàng)作于2023年2月其中這里yn=y(xn),yn+1=y(xn+1).為得到Tn+1的階p,要將上式各項在(xn,
yn)處做泰勒展開,由于f(x,y
)是二元函數(shù),故要用二元泰勒展開,各項展開式為第35頁,課件共59頁,創(chuàng)作于2023年2月將以上結果代入(3.7),則有第36頁,課件共59頁,創(chuàng)作于2023年2月要使公式(3.6)具有p=2階,必須使即(3.9)的解是不唯一的.可令c2=a≠0,則得這樣得到的公式稱為二階R-K方法.第37頁,課件共59頁,創(chuàng)作于2023年2月則由此可以看出在改進的歐拉公式中相當于取(xn,yn),(xn+1,yn+1)兩點處斜率的平均值,近似代替平均斜率,其精度比歐拉公式提高了.如取a=1/2,則c1=c2=1/2,2=21=1.這就是改進的歐拉公式(3.1)式.第38頁,課件共59頁,創(chuàng)作于2023年2月稱為中點公式(變形的歐拉公式),相當于數(shù)值積分的中矩形公式.也可以表示為如取a=1,則c1=0,c2=1,2=21=1/2.得計算公式第39頁,課件共59頁,創(chuàng)作于2023年2月對r=2的R-K公式(3.6)能否使局部誤差提高到O(h4)?為此需把K2多展開一項,從(3.8)的看到展開式中的項是不能通過選擇參數(shù)消掉的,實際上要使h3
的項為零,需增加3個方程,要確定4個參數(shù)c1,c2,2及21,這是不可能的.故r=2的顯式R-K方法的階只能是p=2,而不能得到三階公式.第40頁,課件共59頁,創(chuàng)作于2023年2月9.3.3三階與四階顯式R-K方法要得到三階顯式R-K方法,必須r=3.此時計算(3.4),(3.5)的公式表示為其中c1,c2,c3及2,21,3,31,32均為待定常數(shù),公式(3.11)的局部截斷誤差為第41頁,課件共59頁,創(chuàng)作于2023年2月只要K1,K2將按二元泰勒展開,使Tn+1=O(h4),可得待定參數(shù)滿足方程第42頁,課件共59頁,創(chuàng)作于2023年2月這是8個未知數(shù)6個方程的方程組,解不是唯一的.可以得到很多公式.滿足條件(3.12)的公式(3.11)統(tǒng)稱為三階R-K公式.下面只給出其中一個常見的公式.此公式稱為庫塔三階方法.第43頁,課件共59頁,創(chuàng)作于2023年2月繼續(xù)上述過程,經過較復雜的數(shù)學演算,可以導出各種四階R-K公式,下列經典公式是其中常用的一個:
四階R-K方法的每一步需要計算四次函數(shù)值f,可以證明其局部截斷誤差為O(h5).證明從略.第44頁,課件共59頁,創(chuàng)作于2023年2月
例3
設取步長h=0.2,從x=0直到x=1用四階龍格-庫塔方法求解例1中的初值問題(2.2)式.
解這里,經典的四階龍格-庫塔公式(3.13)具有第45頁,課件共59頁,創(chuàng)作于2023年2月計算結果見下表
xnyny(xn)
xnyny(xn)
00.20.4
1.1.18321.3417
01.18323.24160.60.81.0
1.48331.61251.7321
1.48321.61251.7321比較例3和例2的計算結果,顯然以龍格-庫塔方法的精度為高.要注意,雖然四階龍格-庫塔方法的計算量(每一步要4次計算函數(shù)f)比改進的歐拉方法(它是一種二階龍格-庫塔方法,每一步只要2次計算函數(shù)f)大一倍,但由于這里放大了步長(h=0.2),兩個例子的算法所耗費的計算量幾乎相同.這個例子又一次顯示了選擇算法的重要意義.第46頁,課件共59頁,創(chuàng)作于2023年2月然而值得指出的是,龍格-庫塔方法的推導基于泰勒展開方法,因而它要求所求的解具有較好的光滑性質.反之,如果解的光滑性差,那么,使用龍格-庫塔方法求得的數(shù)值解,其精度可能反而不如改進的歐拉方法.實際計算時,我們應當針對問題的具體特點選擇合適的算法.第47頁,課件共59頁,創(chuàng)作于2023年2月微分方程組和高階方程初值問題的數(shù)值解歐拉方法和龍格-庫塔方法可直接推廣到微分方程組向前歐拉公式高階方程需要先降階為一階微分方程組
第48頁,課件共59頁,創(chuàng)作于2023年2月龍格—庫塔方法的MATLAB實現(xiàn)[t,x]=ode23(@f,ts,x0,opt)3級2階龍格-庫塔公式[t,x]=ode45(@f,ts,x0,opt)5級4階龍格-庫塔公式f是待解方程寫成的函數(shù)m文件:functiondx=f(t,x)dx=[f1;f2;;fn];ts=[t0,t1,…,tf]輸出指定時刻t0,t1,…,tf的函數(shù)值ts=t0:k:tf輸出[t0,tf]內等分點處的函數(shù)值x0為函數(shù)初值(n維)輸出t=ts,x為相應函數(shù)值(n維)opt為選項,缺省時精度為:相對誤差10-3,絕對誤差10-6,計算步長按精度要求自動調整第49頁,課件共59頁,創(chuàng)作于2023年2月微分方程(組)的數(shù)值解
事實上,能夠求得解析解的微分方程或微分方程組少之又少,多數(shù)情況下需要求出微分方程(組)的數(shù)值解。Matlab中求微分方程數(shù)值解的函數(shù)有五個:ode45,ode23,ode113,ode15s,ode23s。調用格式為[t,x]=solver(‘f’,ts,x0,options)第50頁,課件共59頁,創(chuàng)作于2023年2月需要特別注意的是:①solver可以取以上五個函數(shù)之一,不同的函數(shù)代表不同的內部算法:ode23運用組合的2/3階龍格—庫塔—費爾貝算法,ode45運用組合的4/5階龍格—庫塔—費爾貝算法。通常使用函數(shù)ode45;②f是由待解方程寫成的m文件的文件名;③ts=[t0,tf],t0、tf為自變量的初值和終值;④x0為函數(shù)的初值;第51頁,課件共59頁,創(chuàng)作于2023年2月⑤optio
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年合理合同-勞務派遣協(xié)議書
- 2025年度健康咨詢服務居間服務協(xié)議4篇
- 2025年正規(guī)范范本:工業(yè)管道維修承包合同2篇
- 二零二五版企業(yè)ERP合同簽訂的財務審計要求解析3篇
- 二零二五年度濕地修復項目科技成果轉化合同3篇
- 2025年蔬菜種植基地與加工企業(yè)銷售合作協(xié)議3篇
- 二零二五年知識產權服務股權互換合同范本3篇
- 2025招標師考試合同管理考點之擔保合同
- 2025年貨運司機職業(yè)健康管理與防護協(xié)議3篇
- 廣告公司材料采購合同
- 扣款通知單 采購部
- 湖北教育出版社三年級下冊信息技術教案
- 鐵路工程主要建材碳排放因子、常用施工機械臺班能源用量、類運輸方式、能源碳排放因子、不同植栽方式綠化固碳量
- 設計基礎全套教學課件
- 藥品養(yǎng)護記錄表
- IATF16949包裝方案評審表
- 食堂服務外包投標方案(技術標)
- 綠建評分報告模板
- 1 運行方案說明
- 大骨節(jié)病專業(yè)知識講座課件
- PHILIPS HeartStart XL+操作培訓課件
評論
0/150
提交評論