用 Matlab 求解微分方程PPT精選文檔_第1頁
用 Matlab 求解微分方程PPT精選文檔_第2頁
用 Matlab 求解微分方程PPT精選文檔_第3頁
用 Matlab 求解微分方程PPT精選文檔_第4頁
用 Matlab 求解微分方程PPT精選文檔_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、1用用 Matlab 求解微分方程求解微分方程 借助 Matlab 軟件,可以方便地求出微分方程(組)的解析解和數(shù)值解。 2微分方程(組)的解析解微分方程(組)的解析解 求微分方程(組)解析解的命令為dsolve(eqn1, eqn2, ., x)其中“eqni”表示第 i 個方程,“x”表示微分方程(組)中的自變量,默認(rèn)時自變量為 t。此外,在“eqni”表示的方程式中,用 D 表示求微分,D2、D3 等表示求高階微分,任何 D 后所跟的字母表示因變量。 3例 8.5.1 求解一階微分方程 dy/dx = 1 + y2。 求通解輸入:dsolve(Dy=1+y2, x)輸出:ans = ta

2、n(x+C1)求特解輸入:dsolve(Dy=1+y2, y(0)=1, x)輸出:ans = tan(x+1/4*pi)4例 8.5.2 求解下列微分方程的通解及 y(0) = 0 和 y (0) = 15 條件下的特解 求通解輸入:y=dsolve(D2y+4*Dy+29*y=0, x)輸出:y = C1*exp(-2*x)*sin(5*x)+C2*exp(-2*x)*cos(5*x)求特解輸入:y=dsolve(D2y+4*Dy+29*y=0, y(0)=0, Dy(0)=15, x)輸出:y = 3*exp(-2*x)*sin(5*x)029422ydxdydxyd5例 8.5.3 求

3、解下列微分方程組 zyxdtdzzyxdtdyzyxdtdx2443543326求通解 方式一 輸入: x,y,z=dsolve(Dx=2*x-3*y+3*z,Dy=4*x -5*y+3*z,Dz=4*x-4*y+2*z, t); 輸出:x = C2*exp(-t)+C3*exp(2*t) y = C2*exp(-t)+C3*exp(2*t)+exp(-2*t)*C1 z = C3*exp(2*t)+exp(-2*t)*C17方式二輸入:x,y,z=dsolve(Dx=2*x-3*y+3*z,Dy=4*x -5*y+3*z,Dz=4*x-4*y+2*z, t); x=simple(x) % 將

4、x化簡 y=simple(y) z=simple(z)輸出:x = C2/exp(t)+C3*exp(t)2 y = C2*exp(-t)+C3*exp(2*t)+exp(-2*t)*C1 z = C3*exp(2*t)+exp(-2*t)*C18求特解 輸入:x,y,z=dsolve(Dx=2*x-3*y+3*z, Dy=4*x-5*y+3*z,Dz=4*x-4*y+2*z, x(0)=0, y(0)=1, z(0)=2, t); x=simple(x) % 將x化簡 y=simple(y) z=simple(z) 輸出:x = exp(2*t)-exp(-t) y = exp(2*t)-e

5、xp(-t)+exp(-2*t) z = exp(2*t)+exp(-2*t)9微分方程(組)的數(shù)值解微分方程(組)的數(shù)值解 事實上,能夠求得解析解的微分方程或微分方程組少之又少,多數(shù)情況下需要求出微分方程(組)的數(shù)值解。 Matlab中求微分方程數(shù)值解的函數(shù)有五個:ode45,ode23,ode113,ode15s,ode23s。調(diào)用格式為t, x = solver (f, ts, x0, options)10 需要特別注意的是: solver 可以取以上五個函數(shù)之一,不同的函數(shù)代表不同的內(nèi)部算法:ode23 運用組合的 2/3 階龍格庫塔費爾貝算法,ode45 運用組合的 4/5 階龍格庫

6、塔費爾貝算法。通常使用通常使用函數(shù)函數(shù) ode45; f 是由待解方程寫成的m文件的文件名; ts=t0, tf,t0、tf為自變量的初值和終值; x0為函數(shù)的初值;11 options 用于設(shè)定誤差限(可以缺省,缺省時設(shè)定為相對誤差 103,絕對誤差 106),程序為options = odeset(reltol, rt, abstol, at)其中rt和at分別為設(shè)定的相對誤差和絕對誤差; 在解 n 個未知函數(shù)的方程組時,x0、x 均為 n 維向量,m 文件中待解方程組應(yīng)以 x 的分量形式寫成; 使用 Matlab 軟件求數(shù)值解時,高階微分方程必須等價地變換成一階微分方程組。 1213例

7、8.5.4 求解下列微分方程0)0( ; 2)0(0)1 (1000222xxxdtdxxdtxd解:令 y1 = x,y2 = y1,則微分方程變?yōu)橐浑A微分方程組: 0)0(, 2)0()1 (1000211221221yyyyyyyy14 (1) 建立 m 文件 vdp1000.m 如下: function dy=vdp1000(t,y) dy=zeros(2,1); dy(1)=y(2); dy(2)=1000*(1-y(1)2)*y(2)-y(1); (2) 取 t0=0,tf=3000,輸入命令: T,Y=ode15s(vdp1000,0 3000,2 0); plot(T,Y(:,

8、1),-)運行程序,得到如圖的結(jié)果。 1516例 8.5.5 求解下列微分方程組1)0(, 1)0(, 0)0(51. 0321213312321yyyyyyyyyyyy17(1) 建立 m 文件 rigid.m 如下: function dy=rigid(t,y) dy=zeros(3,1); dy(1)=y(2)*y(3); dy(2)=-y(1)*y(3); dy(3)=-0.51*y(1)*y(2);(2) 取 t0=0,tf=12,輸入命令: T,Y=ode45(rigid,0 12,0 1 1); plot(T,Y(:,1),-,T,Y(:,2),*,T,Y(:,3),+)18 運

9、行程序,得到如圖的結(jié)果。圖中,y1 的圖形為實線,y2 的圖形為“*”線,y3 的圖形為“+”線。19例 8.5.6 導(dǎo)彈追蹤問題導(dǎo)彈追蹤問題 設(shè)位于坐標(biāo)原點的甲艦向位于 x 軸上點 A(1, 0) 處的乙艦發(fā)射導(dǎo)彈,導(dǎo)彈頭始終對準(zhǔn)乙艦。如果乙艦以最大的速度 v0(是常數(shù))沿平行于 y 軸的直線行駛,導(dǎo)彈的速度是 5v0,求導(dǎo)彈運行的曲線方程。又乙艦行駛多遠(yuǎn)時,導(dǎo)彈將它擊中?20解:如圖所示,假設(shè)導(dǎo)彈在 t 時刻的位置為P(x(t), y(t),乙艦位于 Q(1, v0t)。由于導(dǎo)彈頭始終對準(zhǔn)乙艦,故此時直線 PQ 就是導(dǎo)彈的軌跡曲線弧 OP 在點 P 處的切線, 21于是有 xytvy10即

10、yyxtv)1 (0又根據(jù)題意,弧 OP 的長度為 |AQ| 的 5 倍,于是 tvdxyx0025122消去 t,得到導(dǎo)彈追蹤模型如下: 下面求解這個初值問題。 0)0( , 0)0(151)1 (2yyyyx23解法一 解析解 利用微分方程初值問題的解析解法,得導(dǎo)彈的運行軌跡為: 參見下圖。245)1 (125)1 (855654xxy2400.10.20.30.40.50.60.70.80.9100.050.10.150.20.2525 根據(jù)題意,乙艦始終沿平行于 y 軸的直線 x = 1 行駛,且由上式知,當(dāng) x = 1 時 y = 5/24,故當(dāng)乙艦航行到點 (1, 5/24) 處時

11、被導(dǎo)彈擊中。同時可求得被擊中時間為:t = y/v0 = 5/24v0;若 v0 = 1,則在 t = 0.21 處被擊中。 26解法二 數(shù)值解 令 y1 = y,y2 = y1,將先前給出的導(dǎo)彈追蹤模型化為一階微分方程組 0)0( , 0)0()1/(1512121221yyxyyyy27(1) 建立 m 文件 eq1.m function dy=eq1(x,y) dy=zeros(2,1); dy(1)=y(2); dy(2)=1/5*sqrt(1+y(1)2)/(1-x); (2) 取 x0=0,xf=0.9999,建立主程序 ff6.m 如下: x0=0, xf=0.9999 x,y=ode

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論