版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
0、導(dǎo)言在許多實(shí)際問題中,例如物理中的速率問題,人口的增長(zhǎng)問題,放射性衰變問題,經(jīng)濟(jì)學(xué)中的邊際問題等,常常涉及到兩個(gè)變量之間的變化規(guī)律。微分方程是研究上述問題的一種機(jī)理分析方法,它在科技、工程、生態(tài)、環(huán)境、人口以及經(jīng)濟(jì)管理等領(lǐng)域中有著十分廣泛的應(yīng)用。在應(yīng)用微分方程解決實(shí)際問題時(shí),必須經(jīng)過兩個(gè)階段。一是微分方程的建立,建立一個(gè)微分方程的實(shí)質(zhì)就是構(gòu)建函數(shù)、自變量以及函數(shù)對(duì)自變量的導(dǎo)數(shù)之間的一種平衡關(guān)系。而正確地構(gòu)建這種平衡關(guān)系,需要對(duì)實(shí)際問題的深入淺出的刻畫,根據(jù)物理的和非物理的原理、定律或定理,作出合理的假設(shè)和簡(jiǎn)化并將它升華成數(shù)學(xué)問題。0、導(dǎo)言在許多實(shí)際問題中,例如物理中的速率問題,人口的另一個(gè)是方程的求解和結(jié)果分析。對(duì)一些常系數(shù)的或特殊函數(shù)形式的微分方程,往往能得到解析解,這對(duì)實(shí)際問題的分析和應(yīng)用都是有利的,但是大多數(shù)變系數(shù)的、非線性函數(shù)形式的微分方程都是求不出解析解的,此時(shí)就需要應(yīng)用求解微分方程的另一個(gè)重要方法──數(shù)值解法。本章簡(jiǎn)要介紹有關(guān)微分方程模型的概念,微分方程的數(shù)值解法和圖解法,主要介紹若干建模實(shí)例,通過它們展示微分方程模型的建模步驟及解決實(shí)際問題的全過程。另一個(gè)是方程的求解和結(jié)果分析。對(duì)一些常系數(shù)的或特殊函數(shù)形式的1、實(shí)例及其數(shù)學(xué)模型
例1海上緝私問題海防某部緝私艇上的雷達(dá)發(fā)現(xiàn)正東方向c海里處有一艘走私船正以速度a向正北方向行駛,緝私艇立即以最大速度b前往攔截。用雷達(dá)進(jìn)行跟蹤時(shí),可保持緝私艇的速度方向始終指向走私船。建立任意時(shí)刻緝私艇的位置和緝私艇航線的數(shù)學(xué)模型,討論緝私艇能夠追上走私船的條件,求出追上的時(shí)間。1、實(shí)例及其數(shù)學(xué)模型例1海上緝私建立直角坐標(biāo)系如圖,設(shè)在t=0時(shí)刻緝私艇發(fā)現(xiàn)走私船,此時(shí)緝私艇的位置在(0,0),走私船的位置在(c,0)。走私船以速度a平行于y軸正向行駛,緝私艇以速度b按指向走私船的方向行駛。在任意時(shí)刻t緝私艇位于P(x,y)點(diǎn),而走私船到達(dá)Q(c,at)點(diǎn),直線PQ與緝私艇航線(圖中曲線)相切,切線與x軸正向夾角為。Q(c,at)P(x,y)R(c,y)0yxc建立直角坐標(biāo)系如圖,設(shè)在t=0時(shí)刻緝私艇發(fā)現(xiàn)走私船,此時(shí)緝私緝私艇在x,y方向的速度分別為,由直角三角形PQR寫出sin
和cos
的表達(dá)式,得到微分方程:(1)
初始條件為(2)這就是緝私艇位置(x(t),y(t))的數(shù)學(xué)模型。但是由方程(1)無法得到x(t),y(t)的解析解,需要用數(shù)值算法求解。我們將在后面繼續(xù)討論這個(gè)問題。緝私艇在x,y方向的速度分別為例2弱肉強(qiáng)食問題自然界中在同一環(huán)境下的兩個(gè)種群之間存在著幾種不同的生存方式,比如相互競(jìng)爭(zhēng),即爭(zhēng)奪同樣的食物資源,造成一個(gè)種群趨于滅絕,而另一個(gè)趨向環(huán)境資源容許的最大容量;或者相互依存,即彼此提供部分食物資源,二者和平共處,趨于一種平衡狀態(tài);再有一種關(guān)系可稱之為弱肉強(qiáng)食,即某個(gè)種群甲靠豐富的自然資源生存,而另一種群乙靠捕食種群甲為生,種群甲稱為食餌(Prey),種群乙為捕食者(Predator),二者組成食餌-捕食者系統(tǒng)。海洋中的食用魚和軟骨魚(鯊魚等)、美洲兔和山貓、落葉松和蚜蟲等都是這種生存方式的典型。這樣兩個(gè)種群的數(shù)量是如何演變的呢?近百年來許多數(shù)學(xué)家和生態(tài)學(xué)家對(duì)這一系統(tǒng)進(jìn)行了深入的研究,建立了一系列數(shù)學(xué)模型,本節(jié)介紹的是最初的、最簡(jiǎn)單的一個(gè)模型,它是意大利數(shù)學(xué)家Volterra在上個(gè)世紀(jì)20年代建立的。例2弱肉強(qiáng)食問題自然界中在同一環(huán)境下的兩個(gè)種群之模型用x(t)表示時(shí)刻t食餌(如食用魚)的密度,即一定區(qū)域內(nèi)的數(shù)量,y(t)表示捕食者(如鯊魚)的密度。假設(shè)食餌獨(dú)立生存時(shí)的(相對(duì))增長(zhǎng)率為常數(shù)r>0,即,而捕食者的存在使食餌的增長(zhǎng)率減小,設(shè)減小量與捕食者密度成正比,比例系數(shù)為a>0,則。捕食者離開食餌無法生存,設(shè)它獨(dú)自存在時(shí)死亡率為常數(shù)d>0,即,而食餌的存在為捕食者提供了食物,使捕食者的死亡率減小,設(shè)減小量與食餌密度成正比,比例系數(shù)為b>0,則,實(shí)際上,當(dāng)bx>d時(shí)捕食者密度將增長(zhǎng)。給定食餌和捕食者密度的初始值x0,y0,由上可知x(t),y(t)滿足以下方程:(3)(3)的解x(t),y(t)描述了食餌和捕食者密度隨時(shí)間的演變過程。但是我們同樣得不到x(t),y(t)的解析解,需要用數(shù)值算法求解。我們將在§3繼續(xù)討論這個(gè)問題模型用x(t)表示時(shí)刻t食餌(如食用魚)的密度,即一定§2歐拉方法和龍格—庫(kù)塔方法一階常微分方程初值問題的一般形式為y=(x,y),axb(4)y(a)=其中(x,y)是已知函數(shù),為給定的初值.如果函數(shù)(x,y)在區(qū)域axb,-<y<上連續(xù)且關(guān)于y滿足Lipschitz條件其中L>0為L(zhǎng)ipschitz常數(shù),則初值問題(4)有唯一解.§2歐拉方法和龍格—庫(kù)塔方法一階常微分方程初值問題的一般所謂數(shù)值解法,就是設(shè)法將常微分方程離散化,建立差分方程,給出解在一些離散點(diǎn)上的近似值.a=x0<x1<x2<…<xn<…<xN=b其中剖分節(jié)點(diǎn)xn=a+nh,n=0,1,…,N,h稱為剖分步長(zhǎng).數(shù)值解法就是求精確解y(x)在剖分節(jié)點(diǎn)xn上的近似值yny(xn),n=1,2,…,n.假設(shè)初值問題(4)的解y=y(x)唯一存在且足夠光滑.對(duì)求解區(qū)域[a,b]做剖分我們采用數(shù)值積分方法來建立差分公式.2.1構(gòu)造數(shù)值解法的基本思想在區(qū)間[xn,xn+1]上對(duì)方程(4)做積分,則有所謂數(shù)值解法,就是設(shè)法將常微分方程離散化,建立差分方對(duì)右邊的積分應(yīng)用左矩形公式,則有梯形公式oxyab左矩形公式y(tǒng)=(x)右矩形公式中矩形公式對(duì)右邊的積分應(yīng)用左矩形公式,則有梯形公式oxyab左矩形公式對(duì)右邊的積分應(yīng)用左矩形公式,則有因此,建立節(jié)點(diǎn)處近似值yn滿足的差分公式稱之為Euler公式.稱為梯形公式.若對(duì)(6)式右邊的積分應(yīng)用梯形求積公式,則可導(dǎo)出差分公式對(duì)右邊的積分應(yīng)用左矩形公式,則有因此,建立節(jié)點(diǎn)處近似值yn滿利用Euler方法求初值問題
解此時(shí)的Euler公式為稱為Euler中點(diǎn)公式或稱雙步Euler公式.若在區(qū)間[xn-1,xn+1]上對(duì)方程(4)做積分,則有對(duì)右邊的積分應(yīng)用中矩形求積公式,則得差分公式例3的數(shù)值解.此問題的精確解是y(x)=x/(1+x2).利用Euler方法求初值問題解分別取步長(zhǎng)h=0.2,0.1,0.05,計(jì)算結(jié)果如下分別取步長(zhǎng)h=0.2,0.1,0.05,計(jì)算結(jié)果如下hxnyny(xn)y(xn)-ynh=0.20.000.400.801.201.602.000.000000.376310.542280.527090.466320.406820.000000.344830.487800.491800.449440.400000.00000-0.03148-0.05448-0.03529-0.01689-0.00682h=0.10.000.400.801.201.602.000.000000.360850.513710.509610.458720.404190.000000.344830.487800.491800.449440.400000.00000-0.01603-0.02590-0.01781-0.00928-0.00419h=0.050.000.400.801.201.602.000.000000.352870.500490.500730.454250.402270.000000.344830.487800.491800.449440.400000.00000-0.00804-0.01268-0.00892-0.00481-0.00227hxnyny(xn)y(xn)-ynh=0.20.000.0Euler中點(diǎn)公式則不然,計(jì)算yn+1時(shí)需用到前兩步的值yn,yn-1,稱其為兩步方法,兩步以上的方法統(tǒng)稱為多步法.在Euler公式和梯形公式中,為求得yn+1,只需用到前一步的值yn,這種差分方法稱為單步法,這是一種自開始方法.隱式公式中,每次計(jì)算yn+1都需解方程,要比顯式公式需要更多的計(jì)算量,但其計(jì)算穩(wěn)定性較好.在Euler公式和Euler中點(diǎn)公式中,需要計(jì)算的yn+1已被顯式表示出來,稱這類差分公式為顯式公式,而梯形公式中,需要計(jì)算的yn+1隱含在等式兩側(cè),稱其為隱式公式.Euler中點(diǎn)公式則不然,計(jì)算yn+1時(shí)需用到前兩步的值y從數(shù)值積分的角度來看,梯形公式計(jì)算數(shù)值解的精度要比Euler公式好,但它屬于隱式公式,不便于計(jì)算.實(shí)際上,常將Euler公式與梯形公式結(jié)合使用:2.2改進(jìn)的Euler方法從數(shù)值積分的角度來看,梯形公式計(jì)算數(shù)值解的精度要比E
由迭代法收斂的角度看,當(dāng)(是給定的精度要求)時(shí),取就可以保證迭代公式收斂,而當(dāng)h很小時(shí),收斂是很快的.而且,只要通常采用只迭代一次的算法:稱之為改進(jìn)的Euler方法.這是一種單步顯式方法.改進(jìn)的Euler方法也可以寫成由迭代法收斂的角度看,當(dāng)y=y-2x/y,0x1的數(shù)值解,取步長(zhǎng)h=0.1.[精確解為y(x)=(1+2x)1/2.]例4求初值問題y(0)=1
解
(1)利用Euler方法y=y-2x/y,0x1的數(shù)計(jì)算結(jié)果如下:(2)利用改進(jìn)Euler方法計(jì)算結(jié)果如下:(2)利用改進(jìn)Euler方法nxnEuler方法yn改進(jìn)Euler法yn精確解y(xn)01234567891000.10.20.30.40.50.60.70.80.9111.11.1918181.2774381.3582131.4351331.5089661.5803381.6497831.7177791.78477011.0959091.1840961.2662011.3433601.4164021.4859561.5525151.6164761.6781681.73786911.0954451.1832161.2649911.3416411.4142141.4832401.5491931.6124521.6733201.732051nxnEuler方法yn改進(jìn)Euler法yn精確解y(xn)在節(jié)點(diǎn)xn+1的誤差y(xn+1)-yn+1,不僅與yn+1這一步計(jì)算有關(guān),而且與前n步計(jì)算值yn,yn-1,…,y1都有關(guān).為了簡(jiǎn)化誤差的分析,著重研究進(jìn)行一步計(jì)算時(shí)產(chǎn)生的誤差.即假設(shè)yn=y(xn),求誤差y(xn+1)-yn+1,這時(shí)的誤差稱為局部截?cái)嗾`差,它可以反映出差分公式的精度.2.3差分公式的誤差分析如果單步差分公式的局部截?cái)嗾`差為O(hp+1),則稱該公式為p階方法.這里p為非負(fù)整數(shù).顯然,階數(shù)越高,方法的精度越高.研究差分公式階的重要手段是Taylor展開式,一元函數(shù)和二元函數(shù)的Taylor展開式為:在節(jié)點(diǎn)xn+1的誤差y(xn+1)-yn+1,不僅另外,在yn=y(xn)的條件下,考慮到y(tǒng)(x)=(x,y(x)),則有y(xn)=(xn,y(xn))=(xn,yn)=ny(xn)=(xn,y(xn))=x(xn,yn)+y(xn,yn)(xn,yn)另外,在yn=y(xn)的條件下,考慮到y(tǒng)(x)=(x,yn+1=yn+h(xn,yn)對(duì)Euler方法,有=yn+(xn,yn)h+O(h2)從而有:y(xn+1)-yn+1=O(h2)所以Euler方法是一階方法.再看改進(jìn)Euler方法,因?yàn)榭傻脃n+1=yn+h(xn,yn)對(duì)E所以,改進(jìn)的Euler方法是二階方法.而從而有:y(xn+1)-yn+1=O(h3)2.4Taylor展開方法設(shè)y(x)是初值問題(4)的精確解,利用Taylor展開式可得所以,改進(jìn)的Euler方法是二階方法.而從而有:y稱之為p階Taylor展開方法.
……
……
……因此,可建立節(jié)點(diǎn)處近似值yn滿足的差分公式其中稱之為p階Taylor展開方法.…所以,此差分公式是p階方法.由于Taylor展開方法涉及很多復(fù)合函數(shù)(x,y(x))的導(dǎo)數(shù)的計(jì)算,比較繁瑣,因而很少直接使用,經(jīng)常用它為多步方法提供初始值.然而,Taylor展開方法給出了一種構(gòu)造單步顯式高階方法的途徑.Euler方法可寫為可見,公式的局部截?cái)嗾`差為:y(xn+1)-yn+1=O(hp+1).2.5Runge-Kutta方法所以,此差分公式是p階方法.由于Taylor展開方構(gòu)造差分公式
……
……改進(jìn)的Euler方法可寫為其中i,i,ij為待定參數(shù).若此公式的局部截?cái)嗾`差為構(gòu)造差分公式……由于yn+1=yn+h1n+h2(n+hxn+hnyn)+O(h3)O(h3),稱此公式為p階Runge-kutta方法,簡(jiǎn)稱p階R-K方法.對(duì)于p=2的情形,應(yīng)有=yn+h(1+2)n+h22(xn+nyn)+O(h3)所以,只要令1+2=1,2=1/2,2=1/2(8)由于yn+1=yn+h1n+h2(n+h一般地,參數(shù)由(8)確定的一族差分公式(7)統(tǒng)稱為二階R-K方法.稱之為中點(diǎn)公式,或可寫為若取=1,則得1=2=1/2,=1,此時(shí)公式(7)就是改進(jìn)的Euler公式;若取1=0,則得2=1,==1/2,公式(7)為高階R-K公式可類似推導(dǎo).下面列出常用的三階、四階R-K公式.一般地,參數(shù)由(8)確定的一族差分公式(7)統(tǒng)稱為四階標(biāo)準(zhǔn)R-K公式
三階R-K公式四階標(biāo)準(zhǔn)R-K公式三階R-K公式
解四階標(biāo)準(zhǔn)R-K公式為例3用四階標(biāo)準(zhǔn)R-K方法求初值問題y=y-2x/y,0x1y(0)=1的數(shù)值解,取步長(zhǎng)h=0.2.計(jì)算結(jié)果如下:解四階標(biāo)準(zhǔn)R-K公式為例3用四階標(biāo)準(zhǔn)R-Knxnyny(xn)nxnyny(xn)0120.00.20.41.001.18321.34171.001.18321.34163450.60.81.01.48331.61251.73211.48321.61251.7321也可以構(gòu)造隱式R-K方法,其一般形式為稱之為p級(jí)隱式R-K方法,同顯式R-K方法一樣確定參數(shù).如nxnyny(xn)nxnyny(xn)00.01.001.是二級(jí)二階隱式R-K方法,也就是梯形公式.但是p級(jí)隱式R-K方法的階可以大于p,例如,一級(jí)隱式中點(diǎn)公式為或?qū)憺樗嵌A方法.2.6變步長(zhǎng)Runge-Kutta方法以p階R-K方法為例討論.設(shè)從xn以步長(zhǎng)h計(jì)算y(xn+1)的近似值為,局部截?cái)嗾`差為其中,C是與h無關(guān)的常數(shù).是二級(jí)二階隱式R-K方法,也就是梯形公式.但是p級(jí)隱式R-K如果將步長(zhǎng)減半,取h/2為步長(zhǎng),從xn經(jīng)兩步計(jì)算得到y(tǒng)(xn+1)的近似值記為,其局部截?cái)嗾`差為于是有從而,得到事后誤差估計(jì)可見,當(dāng)成立時(shí),可取.否則,應(yīng)將步長(zhǎng)再次減半進(jìn)行計(jì)算.如果將步長(zhǎng)減半,取h/2為步長(zhǎng),從xn經(jīng)兩步計(jì)算得求解初值問題的單步顯式方法可一統(tǒng)一寫為如下形式y(tǒng)n+1=yn+h(xn,yn,h)(9)對(duì)于Euler方法,有2.7單步方法的收斂性y=(x,y),axby(a)=其中(x,y,h)稱為增量函數(shù).(x,y,h)=(x,y)對(duì)于改進(jìn)的Euler方法,有(x,y,h)=1/2[(x,y)+(x+h,y+h(x,y))]求解初值問題的單步顯式方法可一統(tǒng)一寫為如下形式設(shè)y(x)是初值問題(4)的解,yn是單步法(9)產(chǎn)生的近似解.如果對(duì)任意固定的點(diǎn)xn,均有y(xn),則稱單步法(9)是收斂的.可見,若方法(9)是收斂的,則當(dāng)h0時(shí),整體截?cái)嗾`差en=y(xn)-yn將趨于零.
定理設(shè)單步方法(9)是p1階方法,增量函數(shù)(x,y,h)在區(qū)域axb,-<y<+,0hh0上連續(xù),且關(guān)于y滿足Lipschitz條件,初始近似y0=y(a)=,則方法(9)是收斂的,且存在與h無關(guān)的常數(shù)C,使|y(xn)-yn|Chp
證明因?yàn)閱尾椒椒ǎ?)是p階方法,則y(x)滿足定義設(shè)y(x)是初值問題(4)的解,其中,局部截?cái)嗾`差|Rn(h)|C1hp+1,記en=y(xn)-yn,則有利用Lipschitz條件得y(xn+1)=y(xn)+h(xn,y(xn),h)+Rn(h)遞推得到注意到en+1=en+h[(xn,y(xn),h)-(xn,yn,h)]+Rn(h)|en+1|(1+hL)|en|+C1hP+1
1+hLehL,(1+hL)nenhLeL(b-a)其中,局部截?cái)嗾`差|Rn(h)|C1hp+1,記en=y由于e0=y(a)-y0=0,所以有則有設(shè)(x,y)連續(xù)且關(guān)于y滿足Lipschitz條件,對(duì)于Euler方法,由于(x,y,h)=(x,y),故Euler方法是收斂的.對(duì)于改進(jìn)的Euler方法,由(x,y)的Lipschitz條件有|en||e0|eL(b-a)+C1hp/L(eL(b-a)-1)|en|C1hp/L(eL(b-a)-1)=Chp|(x,y,h)-(x,y*,h)|1/2|(x,y)-(x,y*)|+1/2|(x+h,y+h(x,y))-(x+h,y*+h(x,y*))|1/2L(1+hL)|y-y*|則當(dāng)hh0時(shí),關(guān)于y滿足常數(shù)為1/2L(1+h0L)的Lipschitz由于e0=y(a)-y0=0,所以有則有條件,因此改進(jìn)的Euler方法是收斂的.可類似驗(yàn)證各階R-K方法是收斂的.2.8單步方法的穩(wěn)定性
定義對(duì)于初值問題(4),取定步長(zhǎng)h,用某個(gè)差分方法進(jìn)行計(jì)算時(shí),假設(shè)只在一個(gè)節(jié)點(diǎn)值yn上產(chǎn)生計(jì)算誤差,即計(jì)算值yn=yn+,如果這個(gè)誤差引起以后各節(jié)點(diǎn)值ym(m>n)的變化均不超過,則稱此差分方法是絕對(duì)穩(wěn)定的.討論數(shù)值方法的穩(wěn)定性,通常僅限于典型的試驗(yàn)方程y=y其中是復(fù)數(shù)且Re()<0.在復(fù)平面上,當(dāng)方法穩(wěn)定時(shí)要求變量h的取值范圍稱為方法的絕對(duì)穩(wěn)定域,它與實(shí)軸的交集稱為絕對(duì)穩(wěn)定區(qū)間.條件,因此改進(jìn)的Euler方法是收斂的.將Euler方法應(yīng)用于方程y=y,得到設(shè)在計(jì)算yn時(shí)產(chǎn)生誤差n,計(jì)算值yn=yn+n,則n將對(duì)以后各節(jié)點(diǎn)值計(jì)算產(chǎn)生影響.記ym=ym+m,mn,由上式可知誤差m滿足方程m=(1+h)m-1=…=(1+h)m-nn,mn對(duì)隱式單步方法也可類似討論.如將梯形公式用于方程y=y,則有yn+1=yn+h/2(yn+yn+1)
yn+1=(1+h)yn
可見,若要|m|<|n|,必須且只須|1+h|<1,因此Euler法的絕對(duì)穩(wěn)定域?yàn)閨1+h|<1,絕對(duì)穩(wěn)定區(qū)間是-2<Re()h<0.解出yn+1得
將Euler方法應(yīng)用于方程y=y,得到類似前面分析,可知絕對(duì)穩(wěn)定區(qū)域?yàn)橛捎赗e()<0,所以此不等式對(duì)任意步長(zhǎng)h恒成立,這是隱式公式的優(yōu)點(diǎn).一些常用方法的絕對(duì)穩(wěn)定區(qū)間為方法方法的階數(shù)穩(wěn)定區(qū)間Euler方法梯形方法改進(jìn)Euler方法二階R-K方法三階R-K方法四階R-K方法122234(-2,0)(-,0)(-2,0)(-2,0)(-2.51,0)(-2.78,0)類似前面分析,可知絕對(duì)穩(wěn)定區(qū)域?yàn)橛捎赗e()<0,所以此不
解因y0=1,計(jì)算得y10=1024,而y(1)=9.35762310-14.例4考慮初值問題y=-30y,0x1y(0)=1取步長(zhǎng)h=0.1,利用Euler方法計(jì)算y10y(1).[y(x)=e-30x]這是因?yàn)閔=-3不屬于Euler方法的絕對(duì)穩(wěn)定區(qū)間.若取h=0.01,計(jì)算得y100=3.23447710-16.若取h=0.001,計(jì)算得y1000=5.91199810-14.若取h=0.0001,計(jì)算得y10000=8.94505710-14.若取h=0.00001,計(jì)算得y100000=9.315610-14.解因y0=1,計(jì)算得y10=1024,而y(1)單步顯式方法的穩(wěn)定性與步長(zhǎng)密切相關(guān),在一種步長(zhǎng)下是穩(wěn)定的差分公式,取大一點(diǎn)步長(zhǎng)就可能是不穩(wěn)定的.收斂性是反映差分公式本身的截?cái)嗾`差對(duì)數(shù)值解的影響;穩(wěn)定性是反映計(jì)算過程中舍入誤差對(duì)數(shù)值解的影響.只有即收斂又穩(wěn)定的差分公式才有實(shí)用價(jià)值.2.9線性多步方法由于在計(jì)算yn+1時(shí),已經(jīng)知道yn,yn-1,…,及(xn,yn),(xn-1,yn-1),…,利用這些值構(gòu)造出精度高、計(jì)算量小的差分公式就是線性多步法.2.9.1利用待定參數(shù)法構(gòu)造線性多步方法r+1步線性多步方法的一般形式為單步顯式方法的穩(wěn)定性與步長(zhǎng)密切相關(guān),在一種當(dāng)-10時(shí),公式為隱式公式,反之為顯式公式.參數(shù)i,i的選擇原則是使方法的局部截?cái)嗾`差為y(xn+1)-yn+1=O(h)r+2
選取參數(shù),0,1,2,使三步方法yn+1=yn+h(0n+1n-1+2n-2)
這里,局部截?cái)嗾`差是指,在yn-i=y(xn-i),i=0,1,…,r的前提下,誤差y(xn+1)-yn+1.為三階方法.
例5
解設(shè)yn=y(xn),yn-1=y(xn-1),yn-2=y(xn-2),則有
當(dāng)-10時(shí),公式為隱式公式,反之為顯式公式.參數(shù)i,n=(xn,y(xn))=y(xn)y(xn+1)=y(xn)+hy(xn)+1/2h2y(xn)+1/6h3y(xn)于是有若使:y(xn+1)-yn+1=O(h4),只要,0,1,2滿足:n-1=(xn-1,y(xn-1))=y(xn-1)=y(xn-h)=y(xn)-hy(xn)+1/2h2y(xn)-1/6h3y(4)(xn)+O(h4)n-2=y(xn)-2hy(xn)+2h2y(xn)-4/3h3y(4)(xn)+O(h4)yn+1=y(xn)+h(0+1+2)y(xn)-h2(1+22)y(xn)+h3(1/21+22)y(xn)-h4/6(1+82)y(4)(xn)+O(h5)+1/24h4y(4)(xn)+O(h5)n=(xn,y(xn))=y(x=1,0+1+2=1,1+22=-1/2,1+42=1/3于是有三步三階顯式差分公式設(shè)pr(x)是函數(shù)(x,y(x))的某個(gè)r次插值多項(xiàng)式,則有解之得:yn+1=yn+h/12(23n-16n-1+5n-2)因?yàn)?.9.2利用數(shù)值積分構(gòu)造線性多步方法其中=1,0+1+2=1,1+22=-選取不同的插值多項(xiàng)式pr(x),就可導(dǎo)出不同的差分公式.下面介紹常用的Adams公式.設(shè)已求得精確解y(x)在步長(zhǎng)為h的等距節(jié)點(diǎn)xn-r,…,xn上的近似值yn-r,…,yn,記k=(xk,yk),利用r+1個(gè)數(shù)據(jù)(xn-r,n-r),…,(xn,n)構(gòu)造r次Lagrange插值多項(xiàng)式由此,可建立差分公式1.Adams顯式公式其中選取不同的插值多項(xiàng)式pr(x),就可導(dǎo)出不同的差分公由此,可建立差分公式由于
hrj
則有稱之為r+1步Adams顯式公式.由此,可建立差分公式由于下面列出幾個(gè)帶有局部截?cái)嗾`差主項(xiàng)的Adams顯式公式r=0yn+1=yn+hn+(1/2)h2y(xn)2.Adams隱式公式r=1yn+1=yn+(h/2)(3n-n-1)+(5/12)h3y(xn)r=2yn+1=yn+(h/12)(23n-16n-1+5n-2)+(3/8)h4y(4)(xn)r=3yn+1=yn+(h/24)(55n-59n-1+37n-2-9n-3)+(251/720)h5y(5)(xn)如果利用r+1個(gè)數(shù)據(jù)(xn-r+1,n-r+1),…,(xn+1,n+1)構(gòu)造r次Lagrange插值多項(xiàng)式pr(x),則可導(dǎo)出數(shù)值穩(wěn)定性好的隱式公式,稱為Adams隱式公式,其一般形式為下面列出幾個(gè)帶有局部截?cái)嗾`差主項(xiàng)的Adams顯式公式其中系數(shù)為下面列出幾個(gè)帶有局部截?cái)嗾`差主項(xiàng)的Adams隱式公式r=0yn+1=yn+hn+1-(1/2)h2y(xn)r=1yn+1=yn+(h/2)(n+n+1)-(1/12)h3y(xn)r=2yn+1=yn+(h/12)(5n+1+8n-n-1)-(1/24)h4y(4)(xn)r=3yn+1=yn+(h/24)(9n+1+19n-5n-1+n-2)-(19/720)h5y(5)(xn)其中系數(shù)為下面列出幾個(gè)帶有局部截?cái)嗾`差主項(xiàng)的Ad3.Adams預(yù)估-校正公式由顯式公式提供一個(gè)預(yù)估值,再用隱式公式校正一次,求得數(shù)值解,稱為預(yù)估校正方法。校正yn+1=yn+(h/24)(9n+1+19n-5n-1+n-2)一般預(yù)估公式和校正公式都采用同階公式。例如:預(yù)估yn+1=yn+(h/24)(55n-59n-1+37n-2-9n-3)n+1=(xn+1,yn+1),n=3,4,…稱為四階Adams預(yù)估校正公式.實(shí)際計(jì)算時(shí)通常用四階單步方法(如四階R-K公式)為它提供起始值y1,y2,y3.例6用四階Adams預(yù)估校正公式求解初值問題3.Adams預(yù)估-校正公式由顯式y(tǒng)=y-2x/y,0x1y(0)=1取步長(zhǎng)h=0.1.解用四階R-K公式提供起始值,計(jì)算結(jié)果如下xnR-k法yn預(yù)估值yn校正值yn精確值y(xn)00.10.20.30.40.50.60.70.80.9111.0954461.1832171.2649121.3415511.4140451.4830171.5489171.6121141.6729141.7315661.3416411.4142131.4832391.5491921.6124501.6733181.73204811.0954451.1832161.2649911.3416411.4142141.4832401.5491931.6124521.6733201.732051y=y-2x/y,0x1§3R—K方法的MATLAB實(shí)現(xiàn)對(duì)于微分方程(組)的初值問題
龍格—庫(kù)塔方法可用如下MATLAB命令實(shí)現(xiàn)其計(jì)算:[t,x]=ode23(@f,ts,x0,options)[t,x]=ode45(@f,ts,x0,options)其中ode23用的是3級(jí)2階龍格—庫(kù)塔公式,ode45用的是以Runge-Kutta-Fehberg命名的5級(jí)4階公式。§3R—K方法的MATLAB實(shí)現(xiàn)對(duì)于微分方程(組)的初值命令的輸入f是待解方程寫成的函數(shù)m文件:functiondx=f(t,x)dx=[f1;f2;;fn];若ts=[t0,t1,t2,…,tf],則輸出在指定時(shí)刻t0,t1,t2,…,tf的函數(shù)值;等分點(diǎn)時(shí)用ts=t0:k:tf,輸出在[t0,tf]內(nèi)等分點(diǎn)處的函數(shù)值。x0為函數(shù)初值(n維向量)。options可用于設(shè)定誤差限(options缺省時(shí)設(shè)定相對(duì)誤差10-3,絕對(duì)誤差10-6),命令為:options=odeset(‘reltol’,rt,’abstol’,at)其中rt,at分別為設(shè)定的相對(duì)誤差和絕對(duì)誤差。命令的輸出t為指定的ts,x為相應(yīng)的函數(shù)值(n維向量)。注意,計(jì)算步長(zhǎng)是根據(jù)誤差限自動(dòng)調(diào)整的,并不是輸入中指定的ts的分點(diǎn)。命令的輸入f是待解方程寫成的函數(shù)m文件:下面用MATLAB軟件解決§1提出的兩個(gè)問題例1海上緝私(續(xù))模型的數(shù)值解1.
設(shè)a=20(海里/小時(shí)),b=40(海里/小時(shí)),c=15(海里),由模型(1),(2)求任意時(shí)刻緝私艇的位置及緝私艇航線。對(duì)于給出的a,b,c用MATLAB求數(shù)值解時(shí),記x(1)=x,x(2)=y,x=(x(1),x(2))T。編寫如下m文件:functiondx=jisi(t,x)%建立名為jisi的函數(shù)m文件a=20;b=40;c=15;s=sqrt((c-x(1))^2+(a*t-x(2))^2);dx=[b*(c-x(1))/s;b*(a*t-x(2))/s];%以向量形式表示方程(1)下面用MATLAB軟件解決§1提出的兩個(gè)問題例1海上緝?nèi)缓筮\(yùn)行以下程序:ts=0:0.05:0.5;%設(shè)定t的起終點(diǎn)及中間的等分點(diǎn),終點(diǎn)可先作試探,再按照x(t)c=15調(diào)整到0.5x0=[0,0];%輸入x,y的初始值(2)[t,x]=ode45(@jisi,ts,x0);%調(diào)用ode45計(jì)算[t,x]%輸出t,x(t),y(t)plot(t,x),grid,%按照數(shù)值輸出作x(t),y(t)的圖形gtext(‘x(t)’),gtext(‘y(t)’),pauseplot(x(:,1),x(:,2)),grid,%作y(x)的圖形gtext(‘x’),gtext(‘y’)然后運(yùn)行以下程序:得到的數(shù)值結(jié)果x(t),y(t)為緝私艇的位置,列入表1。走私船的位置記作x1(t),y1(t),顯然x1(t)=c=15,y1(t)=at=20t,將y1(t)列入表1最后一列。可知當(dāng)t=0.5(小時(shí)),x,y與x1,y1幾乎一致,認(rèn)為緝私艇追上走私船。x(t),y(t)及y(x)的圖形見圖2,y(x)為緝私艇的航線。tx(t)y(t)y1(t)00000.051.99840.06981.00.103.98540.29242.00.155.94450.69063.00.207.85151.28994.00.259.67052.11785.00.3011.34963.20056.00.3512.81704.55527.00.4013.98066.17738.00.4514.74518.02739.00.5015.00469.997910.0a=20,b=40,c=15的數(shù)值解x(t),y(t)和y1(t)得到的數(shù)值結(jié)果x(t),y(t)為緝私艇的位置,列入表1。a=20,b=40,c=15時(shí)x(t),y(t)和y(x)的圖形
a=20,b=40,2.設(shè)b,c不變,而a變大為30,35,接近40(海里/小時(shí)),觀察解的變化修改a的輸入,并相應(yīng)地延長(zhǎng)t的終點(diǎn)。設(shè)a=35,t的終點(diǎn)經(jīng)試探,調(diào)整為1.6合適。表2是計(jì)算結(jié)果,其中x(t),y(t)有兩列數(shù)字,左邊的是用“缺省”精度(即相對(duì)誤差10-3,絕對(duì)誤差10-6)計(jì)算的,中間的y1(t)=at=35t是走私船到達(dá)的位置。可知t=1.3,1.4,1.5時(shí)緝私艇的位置x15,但y與y1(t)相差甚遠(yuǎn),t=1.6時(shí)x,y與x1,y1也有差距,這是累積誤差造成的??衫胦de45的控制參數(shù)options提高精度(上面的“調(diào)用ode45計(jì)算”用以下程序代替),如設(shè)2.設(shè)b,c不變,而a變大為30,35,接近40(海里opt=odeset('reltol',1e-6,'abstol',1e-9);[t,x]=ode45(@jisi,ts,x0,opt);得到的x(t),y(t),與走私船到達(dá)的位置x1(t),y1(t)相對(duì)照,可知t=1.6時(shí)x,y與x1,y1幾乎一致,認(rèn)為緝私艇追上走私船。x(t),y(t)及y(x)的圖形見圖,y(x)為緝私艇的航線,當(dāng)x接近15時(shí)航線幾乎是正北方向,形成沿走私船逃向的追趕態(tài)勢(shì)。讀者可嘗試尋求緝私艇追上走私船的判斷標(biāo)準(zhǔn),設(shè)計(jì)程序并計(jì)算。opt=odeset('reltol',1e-6,'abst
a=35,b=40,c=15時(shí)x(t),y(t)和y(x)的圖形a=35,b=40,模型的解析解
要想得到緝私艇攔截到走私船的精確時(shí)間和位置,必須對(duì)模型(1)做進(jìn)一步的分析,設(shè)法得到某種形式的解析解。將(1)的兩式相除,消去dt得到(27)(27)式對(duì)x求導(dǎo)得(28)為消去式中的dt,利用曲線弧長(zhǎng)的微分,緝私艇的速度,以及微分關(guān)系,得模型的解析解要想得到緝私艇攔截到走私船的精確時(shí)間和位置,必(29)這是關(guān)于y(x)的二階微分方程,若令,可化為p(x)的一階微分方程(30)依題意其初始條件為(31)(30)為可分離變量方程,容易求得在(31)下的解為(32)
設(shè),即走私船速度a小于緝私艇速度b,對(duì)(32)積分并注意到得(35)這就是緝私艇航線的解析表達(dá)式。由(35)式知,當(dāng)x=c時(shí),這也是走私船的y坐標(biāo)。因?yàn)樽咚酱俣仁莂,所以緝私艇攔截到走私船的時(shí)間為設(shè),即走私船速度a小于緝私艇速度b,對(duì)(32)積分并注意到得例2弱肉強(qiáng)食(續(xù))模型的數(shù)值解為了考察模型(3)描述的食餌和捕食者密度隨時(shí)間的演變過程,選取模型參數(shù)r=1,d=0.5,a=0.1,b=0.02,x0=25,y0=2,用MATLAB求(3)的數(shù)值解,記x(1)=x,x(2)=y,x=(x(1),x(2))T。編寫如下m文件:functionxdot=shier(t,x)r=1;d=0.5;a=0.1;b=0.02;xdot=diag([r-a*x(2),-d+b*x(1)])*x;%以向量形式表示方程(3)例2弱肉強(qiáng)食(續(xù))模型的數(shù)值解然后運(yùn)行以下程序:ts=0:0.1:15;%t的終值經(jīng)試驗(yàn)后定為15。x0=[25,2];[t,x]=ode45(@shier,ts,x0);[t,x]plot(t,x),grid,gtext('\fontsize{12}x(t)'),gtext('\fontsize{12}y(t)'),%將標(biāo)記x(t),y(t)的字體放大pause,plot(x(:,1),x(:,2)),grid,xlabel('x'),ylabel('y')然后運(yùn)行以下程序:0、導(dǎo)言在許多實(shí)際問題中,例如物理中的速率問題,人口的增長(zhǎng)問題,放射性衰變問題,經(jīng)濟(jì)學(xué)中的邊際問題等,常常涉及到兩個(gè)變量之間的變化規(guī)律。微分方程是研究上述問題的一種機(jī)理分析方法,它在科技、工程、生態(tài)、環(huán)境、人口以及經(jīng)濟(jì)管理等領(lǐng)域中有著十分廣泛的應(yīng)用。在應(yīng)用微分方程解決實(shí)際問題時(shí),必須經(jīng)過兩個(gè)階段。一是微分方程的建立,建立一個(gè)微分方程的實(shí)質(zhì)就是構(gòu)建函數(shù)、自變量以及函數(shù)對(duì)自變量的導(dǎo)數(shù)之間的一種平衡關(guān)系。而正確地構(gòu)建這種平衡關(guān)系,需要對(duì)實(shí)際問題的深入淺出的刻畫,根據(jù)物理的和非物理的原理、定律或定理,作出合理的假設(shè)和簡(jiǎn)化并將它升華成數(shù)學(xué)問題。0、導(dǎo)言在許多實(shí)際問題中,例如物理中的速率問題,人口的另一個(gè)是方程的求解和結(jié)果分析。對(duì)一些常系數(shù)的或特殊函數(shù)形式的微分方程,往往能得到解析解,這對(duì)實(shí)際問題的分析和應(yīng)用都是有利的,但是大多數(shù)變系數(shù)的、非線性函數(shù)形式的微分方程都是求不出解析解的,此時(shí)就需要應(yīng)用求解微分方程的另一個(gè)重要方法──數(shù)值解法。本章簡(jiǎn)要介紹有關(guān)微分方程模型的概念,微分方程的數(shù)值解法和圖解法,主要介紹若干建模實(shí)例,通過它們展示微分方程模型的建模步驟及解決實(shí)際問題的全過程。另一個(gè)是方程的求解和結(jié)果分析。對(duì)一些常系數(shù)的或特殊函數(shù)形式的1、實(shí)例及其數(shù)學(xué)模型
例1海上緝私問題海防某部緝私艇上的雷達(dá)發(fā)現(xiàn)正東方向c海里處有一艘走私船正以速度a向正北方向行駛,緝私艇立即以最大速度b前往攔截。用雷達(dá)進(jìn)行跟蹤時(shí),可保持緝私艇的速度方向始終指向走私船。建立任意時(shí)刻緝私艇的位置和緝私艇航線的數(shù)學(xué)模型,討論緝私艇能夠追上走私船的條件,求出追上的時(shí)間。1、實(shí)例及其數(shù)學(xué)模型例1海上緝私建立直角坐標(biāo)系如圖,設(shè)在t=0時(shí)刻緝私艇發(fā)現(xiàn)走私船,此時(shí)緝私艇的位置在(0,0),走私船的位置在(c,0)。走私船以速度a平行于y軸正向行駛,緝私艇以速度b按指向走私船的方向行駛。在任意時(shí)刻t緝私艇位于P(x,y)點(diǎn),而走私船到達(dá)Q(c,at)點(diǎn),直線PQ與緝私艇航線(圖中曲線)相切,切線與x軸正向夾角為。Q(c,at)P(x,y)R(c,y)0yxc建立直角坐標(biāo)系如圖,設(shè)在t=0時(shí)刻緝私艇發(fā)現(xiàn)走私船,此時(shí)緝私緝私艇在x,y方向的速度分別為,由直角三角形PQR寫出sin
和cos
的表達(dá)式,得到微分方程:(1)
初始條件為(2)這就是緝私艇位置(x(t),y(t))的數(shù)學(xué)模型。但是由方程(1)無法得到x(t),y(t)的解析解,需要用數(shù)值算法求解。我們將在后面繼續(xù)討論這個(gè)問題。緝私艇在x,y方向的速度分別為例2弱肉強(qiáng)食問題自然界中在同一環(huán)境下的兩個(gè)種群之間存在著幾種不同的生存方式,比如相互競(jìng)爭(zhēng),即爭(zhēng)奪同樣的食物資源,造成一個(gè)種群趨于滅絕,而另一個(gè)趨向環(huán)境資源容許的最大容量;或者相互依存,即彼此提供部分食物資源,二者和平共處,趨于一種平衡狀態(tài);再有一種關(guān)系可稱之為弱肉強(qiáng)食,即某個(gè)種群甲靠豐富的自然資源生存,而另一種群乙靠捕食種群甲為生,種群甲稱為食餌(Prey),種群乙為捕食者(Predator),二者組成食餌-捕食者系統(tǒng)。海洋中的食用魚和軟骨魚(鯊魚等)、美洲兔和山貓、落葉松和蚜蟲等都是這種生存方式的典型。這樣兩個(gè)種群的數(shù)量是如何演變的呢?近百年來許多數(shù)學(xué)家和生態(tài)學(xué)家對(duì)這一系統(tǒng)進(jìn)行了深入的研究,建立了一系列數(shù)學(xué)模型,本節(jié)介紹的是最初的、最簡(jiǎn)單的一個(gè)模型,它是意大利數(shù)學(xué)家Volterra在上個(gè)世紀(jì)20年代建立的。例2弱肉強(qiáng)食問題自然界中在同一環(huán)境下的兩個(gè)種群之模型用x(t)表示時(shí)刻t食餌(如食用魚)的密度,即一定區(qū)域內(nèi)的數(shù)量,y(t)表示捕食者(如鯊魚)的密度。假設(shè)食餌獨(dú)立生存時(shí)的(相對(duì))增長(zhǎng)率為常數(shù)r>0,即,而捕食者的存在使食餌的增長(zhǎng)率減小,設(shè)減小量與捕食者密度成正比,比例系數(shù)為a>0,則。捕食者離開食餌無法生存,設(shè)它獨(dú)自存在時(shí)死亡率為常數(shù)d>0,即,而食餌的存在為捕食者提供了食物,使捕食者的死亡率減小,設(shè)減小量與食餌密度成正比,比例系數(shù)為b>0,則,實(shí)際上,當(dāng)bx>d時(shí)捕食者密度將增長(zhǎng)。給定食餌和捕食者密度的初始值x0,y0,由上可知x(t),y(t)滿足以下方程:(3)(3)的解x(t),y(t)描述了食餌和捕食者密度隨時(shí)間的演變過程。但是我們同樣得不到x(t),y(t)的解析解,需要用數(shù)值算法求解。我們將在§3繼續(xù)討論這個(gè)問題模型用x(t)表示時(shí)刻t食餌(如食用魚)的密度,即一定§2歐拉方法和龍格—庫(kù)塔方法一階常微分方程初值問題的一般形式為y=(x,y),axb(4)y(a)=其中(x,y)是已知函數(shù),為給定的初值.如果函數(shù)(x,y)在區(qū)域axb,-<y<上連續(xù)且關(guān)于y滿足Lipschitz條件其中L>0為L(zhǎng)ipschitz常數(shù),則初值問題(4)有唯一解.§2歐拉方法和龍格—庫(kù)塔方法一階常微分方程初值問題的一般所謂數(shù)值解法,就是設(shè)法將常微分方程離散化,建立差分方程,給出解在一些離散點(diǎn)上的近似值.a=x0<x1<x2<…<xn<…<xN=b其中剖分節(jié)點(diǎn)xn=a+nh,n=0,1,…,N,h稱為剖分步長(zhǎng).數(shù)值解法就是求精確解y(x)在剖分節(jié)點(diǎn)xn上的近似值yny(xn),n=1,2,…,n.假設(shè)初值問題(4)的解y=y(x)唯一存在且足夠光滑.對(duì)求解區(qū)域[a,b]做剖分我們采用數(shù)值積分方法來建立差分公式.2.1構(gòu)造數(shù)值解法的基本思想在區(qū)間[xn,xn+1]上對(duì)方程(4)做積分,則有所謂數(shù)值解法,就是設(shè)法將常微分方程離散化,建立差分方對(duì)右邊的積分應(yīng)用左矩形公式,則有梯形公式oxyab左矩形公式y(tǒng)=(x)右矩形公式中矩形公式對(duì)右邊的積分應(yīng)用左矩形公式,則有梯形公式oxyab左矩形公式對(duì)右邊的積分應(yīng)用左矩形公式,則有因此,建立節(jié)點(diǎn)處近似值yn滿足的差分公式稱之為Euler公式.稱為梯形公式.若對(duì)(6)式右邊的積分應(yīng)用梯形求積公式,則可導(dǎo)出差分公式對(duì)右邊的積分應(yīng)用左矩形公式,則有因此,建立節(jié)點(diǎn)處近似值yn滿利用Euler方法求初值問題
解此時(shí)的Euler公式為稱為Euler中點(diǎn)公式或稱雙步Euler公式.若在區(qū)間[xn-1,xn+1]上對(duì)方程(4)做積分,則有對(duì)右邊的積分應(yīng)用中矩形求積公式,則得差分公式例3的數(shù)值解.此問題的精確解是y(x)=x/(1+x2).利用Euler方法求初值問題解分別取步長(zhǎng)h=0.2,0.1,0.05,計(jì)算結(jié)果如下分別取步長(zhǎng)h=0.2,0.1,0.05,計(jì)算結(jié)果如下hxnyny(xn)y(xn)-ynh=0.20.000.400.801.201.602.000.000000.376310.542280.527090.466320.406820.000000.344830.487800.491800.449440.400000.00000-0.03148-0.05448-0.03529-0.01689-0.00682h=0.10.000.400.801.201.602.000.000000.360850.513710.509610.458720.404190.000000.344830.487800.491800.449440.400000.00000-0.01603-0.02590-0.01781-0.00928-0.00419h=0.050.000.400.801.201.602.000.000000.352870.500490.500730.454250.402270.000000.344830.487800.491800.449440.400000.00000-0.00804-0.01268-0.00892-0.00481-0.00227hxnyny(xn)y(xn)-ynh=0.20.000.0Euler中點(diǎn)公式則不然,計(jì)算yn+1時(shí)需用到前兩步的值yn,yn-1,稱其為兩步方法,兩步以上的方法統(tǒng)稱為多步法.在Euler公式和梯形公式中,為求得yn+1,只需用到前一步的值yn,這種差分方法稱為單步法,這是一種自開始方法.隱式公式中,每次計(jì)算yn+1都需解方程,要比顯式公式需要更多的計(jì)算量,但其計(jì)算穩(wěn)定性較好.在Euler公式和Euler中點(diǎn)公式中,需要計(jì)算的yn+1已被顯式表示出來,稱這類差分公式為顯式公式,而梯形公式中,需要計(jì)算的yn+1隱含在等式兩側(cè),稱其為隱式公式.Euler中點(diǎn)公式則不然,計(jì)算yn+1時(shí)需用到前兩步的值y從數(shù)值積分的角度來看,梯形公式計(jì)算數(shù)值解的精度要比Euler公式好,但它屬于隱式公式,不便于計(jì)算.實(shí)際上,常將Euler公式與梯形公式結(jié)合使用:2.2改進(jìn)的Euler方法從數(shù)值積分的角度來看,梯形公式計(jì)算數(shù)值解的精度要比E
由迭代法收斂的角度看,當(dāng)(是給定的精度要求)時(shí),取就可以保證迭代公式收斂,而當(dāng)h很小時(shí),收斂是很快的.而且,只要通常采用只迭代一次的算法:稱之為改進(jìn)的Euler方法.這是一種單步顯式方法.改進(jìn)的Euler方法也可以寫成由迭代法收斂的角度看,當(dāng)y=y-2x/y,0x1的數(shù)值解,取步長(zhǎng)h=0.1.[精確解為y(x)=(1+2x)1/2.]例4求初值問題y(0)=1
解
(1)利用Euler方法y=y-2x/y,0x1的數(shù)計(jì)算結(jié)果如下:(2)利用改進(jìn)Euler方法計(jì)算結(jié)果如下:(2)利用改進(jìn)Euler方法nxnEuler方法yn改進(jìn)Euler法yn精確解y(xn)01234567891000.10.20.30.40.50.60.70.80.9111.11.1918181.2774381.3582131.4351331.5089661.5803381.6497831.7177791.78477011.0959091.1840961.2662011.3433601.4164021.4859561.5525151.6164761.6781681.73786911.0954451.1832161.2649911.3416411.4142141.4832401.5491931.6124521.6733201.732051nxnEuler方法yn改進(jìn)Euler法yn精確解y(xn)在節(jié)點(diǎn)xn+1的誤差y(xn+1)-yn+1,不僅與yn+1這一步計(jì)算有關(guān),而且與前n步計(jì)算值yn,yn-1,…,y1都有關(guān).為了簡(jiǎn)化誤差的分析,著重研究進(jìn)行一步計(jì)算時(shí)產(chǎn)生的誤差.即假設(shè)yn=y(xn),求誤差y(xn+1)-yn+1,這時(shí)的誤差稱為局部截?cái)嗾`差,它可以反映出差分公式的精度.2.3差分公式的誤差分析如果單步差分公式的局部截?cái)嗾`差為O(hp+1),則稱該公式為p階方法.這里p為非負(fù)整數(shù).顯然,階數(shù)越高,方法的精度越高.研究差分公式階的重要手段是Taylor展開式,一元函數(shù)和二元函數(shù)的Taylor展開式為:在節(jié)點(diǎn)xn+1的誤差y(xn+1)-yn+1,不僅另外,在yn=y(xn)的條件下,考慮到y(tǒng)(x)=(x,y(x)),則有y(xn)=(xn,y(xn))=(xn,yn)=ny(xn)=(xn,y(xn))=x(xn,yn)+y(xn,yn)(xn,yn)另外,在yn=y(xn)的條件下,考慮到y(tǒng)(x)=(x,yn+1=yn+h(xn,yn)對(duì)Euler方法,有=yn+(xn,yn)h+O(h2)從而有:y(xn+1)-yn+1=O(h2)所以Euler方法是一階方法.再看改進(jìn)Euler方法,因?yàn)榭傻脃n+1=yn+h(xn,yn)對(duì)E所以,改進(jìn)的Euler方法是二階方法.而從而有:y(xn+1)-yn+1=O(h3)2.4Taylor展開方法設(shè)y(x)是初值問題(4)的精確解,利用Taylor展開式可得所以,改進(jìn)的Euler方法是二階方法.而從而有:y稱之為p階Taylor展開方法.
……
……
……因此,可建立節(jié)點(diǎn)處近似值yn滿足的差分公式其中稱之為p階Taylor展開方法.…所以,此差分公式是p階方法.由于Taylor展開方法涉及很多復(fù)合函數(shù)(x,y(x))的導(dǎo)數(shù)的計(jì)算,比較繁瑣,因而很少直接使用,經(jīng)常用它為多步方法提供初始值.然而,Taylor展開方法給出了一種構(gòu)造單步顯式高階方法的途徑.Euler方法可寫為可見,公式的局部截?cái)嗾`差為:y(xn+1)-yn+1=O(hp+1).2.5Runge-Kutta方法所以,此差分公式是p階方法.由于Taylor展開方構(gòu)造差分公式
……
……改進(jìn)的Euler方法可寫為其中i,i,ij為待定參數(shù).若此公式的局部截?cái)嗾`差為構(gòu)造差分公式……由于yn+1=yn+h1n+h2(n+hxn+hnyn)+O(h3)O(h3),稱此公式為p階Runge-kutta方法,簡(jiǎn)稱p階R-K方法.對(duì)于p=2的情形,應(yīng)有=yn+h(1+2)n+h22(xn+nyn)+O(h3)所以,只要令1+2=1,2=1/2,2=1/2(8)由于yn+1=yn+h1n+h2(n+h一般地,參數(shù)由(8)確定的一族差分公式(7)統(tǒng)稱為二階R-K方法.稱之為中點(diǎn)公式,或可寫為若取=1,則得1=2=1/2,=1,此時(shí)公式(7)就是改進(jìn)的Euler公式;若取1=0,則得2=1,==1/2,公式(7)為高階R-K公式可類似推導(dǎo).下面列出常用的三階、四階R-K公式.一般地,參數(shù)由(8)確定的一族差分公式(7)統(tǒng)稱為四階標(biāo)準(zhǔn)R-K公式
三階R-K公式四階標(biāo)準(zhǔn)R-K公式三階R-K公式
解四階標(biāo)準(zhǔn)R-K公式為例3用四階標(biāo)準(zhǔn)R-K方法求初值問題y=y-2x/y,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 有限公司合同范本
- 2024專業(yè)加工服務(wù)協(xié)議樣本
- 2024建筑外墻裝修改造協(xié)議樣本
- 信息素養(yǎng)(一)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 首都醫(yī)科大學(xué)附屬北京友誼醫(yī)院(含社會(huì)人員)招聘真題
- 2023年雅安市招才引智活動(dòng)全國(guó)引進(jìn)考試真題
- 河池市宜州區(qū)招聘中小學(xué)教師真題
- 崇左市扶綏縣教育局中小學(xué)教師招聘真題
- 鋼板樁2024年度建筑租賃協(xié)議樣本
- 2024年BIM行業(yè)標(biāo)準(zhǔn)與規(guī)范解讀
- 2023燃?xì)夤こ谭职贤?guī)版
- 陜西師范大學(xué)學(xué)位英語試題
- 【基于嵌入式的人體健康智能檢測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)14000字(論文)】
- 基礎(chǔ)管理風(fēng)險(xiǎn)分級(jí)管控清單(雙體系)
- 醫(yī)學(xué)課件:臨床決策分析
- 江蘇開放大學(xué)2023年秋《中級(jí)會(huì)計(jì)實(shí)務(wù)(上) 050284》第4次任務(wù)參考答案
- 屋頂光伏安全專項(xiàng)施工方案
- 4.與食品經(jīng)營(yíng)相適應(yīng)的主要設(shè)備設(shè)施布局操作流程等文件
- 四班三倒排班表
- 銀行業(yè)信息系統(tǒng)災(zāi)難恢復(fù)管理規(guī)范
- 醫(yī)院重點(diǎn)崗位工作人員輪崗制度
評(píng)論
0/150
提交評(píng)論