2matlab求微分方程的解_第1頁
2matlab求微分方程的解_第2頁
2matlab求微分方程的解_第3頁
2matlab求微分方程的解_第4頁
2matlab求微分方程的解_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、matlab求微分方程的解 一、問題背景與實驗?zāi)康亩?、相關(guān)函數(shù)(命令)及簡介三、實驗內(nèi)容四、自己動手一、問題背景與實驗?zāi)康膶嶋H應(yīng)用問題通過數(shù)學(xué)建模所歸納而得到的方程,絕大多數(shù)都是微分方程,真正能得到代數(shù)方程的機會很少另一方面,能夠求解的微分方程也是十分有限的,特別是高階方程和偏微分方程(組)這就要求我們必須研究微分方程(組)的解法,既要研究微分方程(組)的解析解法(精確解),更要研究微分方程(組)的數(shù)值解法(近似解)對微分方程(組)的解析解法(精確解),Matlab 有專門的函數(shù)可以用,本實驗將作一定的介紹本實驗將主要研究微分方程(組)的數(shù)值解法(近似解),重點介紹 Euler 折線

2、法 二、相關(guān)函數(shù)(命令)及簡介1dsolve('equ1','equ2',):Matlab 求微分方程的解析解equ1、equ2、為方程(或條件)寫方程(或條件)時用 Dy 表示y 關(guān)于自變量的一階導(dǎo)數(shù),用用 D2y 表示 y 關(guān)于自變量的二階導(dǎo)數(shù),依此類推2simplify(s):對表達式 s 使用 maple 的化簡規(guī)則進行化簡例如:syms xsimplify(sin(x)2 + cos(x)2)ans=13r,how=simple(s):由于 Matlab 提供了多種化簡規(guī)則,simple 命令就是對表達式 s 用各種規(guī)則進行化簡,然后用 r 返回最簡形

3、式,how 返回形成這種形式所用的規(guī)則例如:syms xr,how=simple(cos(x)2-sin(x)2)r = cos(2*x)how = combine4T,Y = solver(odefun,tspan,y0) 求微分方程的數(shù)值解說明:(1) 其中的 solver為命令 ode45、ode23、ode113、ode15s、ode23s、ode23t、ode23tb 之一(2) odefun 是顯式常微分方程:(3) 在積分區(qū)間 tspan=上,從到,用初始條件求解(4) 要獲得問題在其他指定時間點上的解,則令 tspan= (要求是單調(diào)的)(5) 因為沒有一種算法可以有效地解決所

4、有的 ODE 問題,為此,Matlab 提供了多種求解器 Solver,對于不同的ODE 問題,采用不同的Solver 求解器SolverODE類型特點說明ode45非剛性 單步算法;4、5階Runge-Kutta方程;累計截斷誤差達大部分場合的首選算法ode23非剛性單步算法;2、3階Runge-Kutta方程;累計截斷誤差達使用于精度較低的情形ode113非剛性多步法;Adams算法;高低精度均可到計算時間比 ode45 短ode23t適度剛性采用梯形算法適度剛性情形ode15s剛性多步法;Gear's反向數(shù)值微分;精度中等若 ode45 失效時,可嘗試使用ode23s剛

5、性單步法;2階 Rosebrock 算法;低精度當(dāng)精度較低時,計算時間比 ode15s 短ode23tb剛性梯形算法;低精度當(dāng)精度較低時,計算時間比 ode15s 短 (6) 要特別的是:ode23、ode45 是極其常用的用來求解非剛性的標(biāo)準(zhǔn)形式的一階常微分方程(組)的初值問題的解的 Matlab 的常用程序,其中:ode23 采用龍格-庫塔2 階算法,用3 階公式作誤差估計來調(diào)節(jié)步長,具有低等的精度ode45 則采用龍格-庫塔4 階算法,用5 階公式作誤差估計來調(diào)節(jié)步長,具有中等的精度5ezplot(x,y,tmin,tmax):符號函數(shù)的作圖命令x,y 為關(guān)于參數(shù)t 的符號函數(shù)

6、,tmin,tmax 為 t 的取值范圍6inline():建立一個內(nèi)聯(lián)函數(shù)格式:inline('expr', 'var1', 'var2',) ,注意括號里的表達式要加引號例:Q = dblquad(inline('y*sin(x)'), pi, 2*pi, 0, pi) . 三、實驗內(nèi)容1.  幾個可以直接用 Matlab 求微分方程精確解的例子:例1:求解微分方程,并加以驗證求解本問題的Matlab 程序為:syms x y       

7、0;                          %line1y=dsolve('Dy+2*x*y=x*exp(-x2)','x')          %line2diff(y,x)+2*x*y-x*exp(-x

8、2)                  %line3simplify(diff(y,x)+2*x*y-x*exp(-x2)          %line4說明:(1) 行l(wèi)ine1是用命令定義x,y為符號變量這里可以不寫,但為確保正確性,建議寫上;(2) 行l(wèi)ine2是用命令求出的微分方程的解:1/2*exp(-x2)*x2+exp(-x

9、2)*C1(3) 行l(wèi)ine3使用所求得的解這里是將解代入原微分方程,結(jié)果應(yīng)該為0,但這里給出:-x3*exp(-x2)-2*x*exp(-x2)*C1+2*x*(1/2*exp(-x2)*x2+exp(-x2)*C1)(4) 行l(wèi)ine4 用 simplify() 函數(shù)對上式進行化簡,結(jié)果為 0, 表明的確是微分方程的解例2:求微分方程在初始條件下的特解,并畫出解函數(shù)的圖形求解本問題的 Matlab 程序為:syms x yy=dsolve('x*Dy+y-exp(x)=0','y(1)=2*exp(1)','x')ezplot(y)微分方程的

10、特解為:y=1/x*exp(x)+1/x* exp (1) (Matlab格式),即,解函數(shù)的圖形如圖 1:圖1例3:求微分方程組在初始條件下的特解,并畫出解函數(shù)的圖形求解本問題的 Matlab 程序為:syms x y tx,y=dsolve('Dx+5*x+y=exp(t)','Dy-x-3*y=0','x(0)=1','y(0)=0','t')simple(x);simple(y);ezplot(x,y,0,1.3);axis auto微分方程的特解(式子特別長)以及解函數(shù)的圖形均略2. 用ode23、ode

11、45等求解非剛性的標(biāo)準(zhǔn)形式的一階常微分方程(組)的初值問題的數(shù)值解(近似解)例4:求解微分方程初值問題的數(shù)值解,求解范圍為區(qū)間0, 0.5fun=inline('-2*y+2*x2+2*x','x','y');%fun=(x)(-2*y+2*x2+2*x)x,y=ode23(fun,0,0.5,1);x'y'plot(x,y,'o-')>> x'ans =0.0000   0.0400   0.0900   0.1400  &

12、#160;0.1900   0.24000.2900   0.3400   0.3900   0.4400   0.4900   0.5000>> y'ans =1.0000   0.9247   0.8434   0.7754   0.7199   0.67640.6440   0.6222   0.6105 

13、60; 0.6084   0.6154   0.6179圖形結(jié)果為圖 2圖2 例 5:求解描述振蕩器的經(jīng)典的 Ver der Pol 微分方程 分析:令則先編寫函數(shù)文件verderpol.m:function xprime = verderpol(t,x)global mu;xprime = x(2);mu*(1-x(1)2)*x(2)-x(1);再編寫命令文件vdp1.m:global mu;mu = 7;y0=1;0t,x = ode45('verderpol',0,40,y0);x1=x(:,1);x2=x(:,

14、2);plot(t,x1)圖形結(jié)果為圖3圖33. 用 Euler 折線法求解前面講到過,能夠求解的微分方程也是十分有限的下面介紹用 Euler 折線法求微分方程的數(shù)值解(近似解)的方法Euler 折線法求解的基本思想是將微分方程初值問題化成一個代數(shù)方程,即差分方程,主要步驟是用差商替代微商,于是:記,從而,則有例 6:用 Euler 折線法求解微分方程初值問題的數(shù)值解(步長h取0.4),求解范圍為區(qū)間0,2解:本問題的差分方程為相應(yīng)的Matlab 程序見附錄 1數(shù)據(jù)結(jié)果為:    0       

15、0; 1.0000    0.4000    1.4000    0.8000    2.1233    1.2000    3.1145    1.6000    4.4593    2.0000    6.3074圖形結(jié)果見圖4:圖4特別說明:本問題可進一步利用四階 Runge-Kutta 法求

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論