matlab解常微分方程的特別方法_第1頁(yè)
matlab解常微分方程的特別方法_第2頁(yè)
matlab解常微分方程的特別方法_第3頁(yè)
matlab解常微分方程的特別方法_第4頁(yè)
matlab解常微分方程的特別方法_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

應(yīng)用matlab軟件對(duì)常微分方程求解matlab解常微分方程的特別方法共35頁(yè),您現(xiàn)在瀏覽的是第1頁(yè)!前沿:科學(xué)技術(shù)和工程中許多問(wèn)題是用微分方程的形式建立數(shù)學(xué)模型,因此微分方程的求解有很實(shí)際的意義。一、常微分方程(組)的符號(hào)解二、常微分方程(組)數(shù)值解matlab解常微分方程的特別方法共35頁(yè),您現(xiàn)在瀏覽的是第2頁(yè)!一、常微分方程(組)的符號(hào)解函數(shù)dsolve格式:r=dsolve('eq1,eq2,…’,'cond1,cond2,…','v')說(shuō)明

(1)對(duì)給定的常微分方程(組)eq1,eq2,…中指定的符號(hào)自變量v,與給定的邊界條件和初始條件cond1,cond2,….求符號(hào)解(即解析解)r;(2)若沒(méi)有指定變量v,則缺省變量為t;matlab解常微分方程的特別方法共35頁(yè),您現(xiàn)在瀏覽的是第3頁(yè)!(3)在微分方程(組)的表達(dá)式eq中,大寫(xiě)字母D表示對(duì)自變量(設(shè)為x)的微分算子:D=d/dx,D2=d2/dx2,…。微分算子D后面的字母則表示為因變量,即待求解的未知函數(shù)。初始和邊界條件由字符串表示:y(a)=b,Dy(c)=d,D2y(e)=f,等等,分別表示matlab解常微分方程的特別方法共35頁(yè),您現(xiàn)在瀏覽的是第4頁(yè)!(6)若沒(méi)有給定輸出參量,則在命令窗口顯示解列表。若該命令找不到解析解,則返回一警告信息,同時(shí)返回一空的sym對(duì)象。這時(shí),用戶(hù)可以用命令ode23或ode45求解方程組的數(shù)值解。matlab解常微分方程的特別方法共35頁(yè),您現(xiàn)在瀏覽的是第5頁(yè)!例2>>[u,v]=dsolve('Du=v,Dv=u')u=C1*exp(-t)+C2*exp(t)V=-C1*exp(-t)+C2*exp(t)matlab解常微分方程的特別方法共35頁(yè),您現(xiàn)在瀏覽的是第6頁(yè)!二、常微分方程(組)數(shù)值解[T,Y]=solver(odefun,tspan,y0)[T,Y]=solver(odefun,tspan,y0,options)[T,Y]=solver(odefun,tspan,y0,options,p1,p2…)matlab解常微分方程的特別方法共35頁(yè),您現(xiàn)在瀏覽的是第7頁(yè)!參數(shù)說(shuō)明:(4)y0包含初始條件的向量。(5)options用命令odeset設(shè)置的可選積分參數(shù).(6)p1,p2,…傳遞給函數(shù)odefun的可選參數(shù)。matlab解常微分方程的特別方法共35頁(yè),您現(xiàn)在瀏覽的是第8頁(yè)!用參數(shù)options(用命令odeset生成)設(shè)置屬性(代替了缺省的積分參數(shù)),再進(jìn)行操作。常用的屬性包括相對(duì)誤差值RelTol(缺省值為1e-3)與絕對(duì)誤差向量AbsTol(缺省值為每一元素為1e-6)。[T,Y]=solver(odefun,tspan,y0,options)matlab解常微分方程的特別方法共35頁(yè),您現(xiàn)在瀏覽的是第9頁(yè)!求解具體ODE的基本過(guò)程:(1)根據(jù)問(wèn)題所屬學(xué)科中的規(guī)律、定律、公式,用微分方程與初始條件進(jìn)行描述。F(y,y’,y’’,…,y(n),t)=0y(0)=y0,y’(0)=y1,…,y(n-1)(0)=yn-1而y=[y;y(1);y(2);…,y(m-1)],n與m可以不等matlab解常微分方程的特別方法共35頁(yè),您現(xiàn)在瀏覽的是第10頁(yè)!(3)根據(jù)(1)與(2)的結(jié)果,編寫(xiě)能計(jì)算導(dǎo)數(shù)的M-函數(shù)文件odefile。(4)將文件odefile與初始條件傳遞給求解器Solver中的一個(gè),運(yùn)行后就可得到ODE的、在指定時(shí)間區(qū)間上的解列向量y(其中包含y及不同階的導(dǎo)數(shù))。matlab解常微分方程的特別方法共35頁(yè),您現(xiàn)在瀏覽的是第11頁(yè)!求解器SolverODE類(lèi)型特點(diǎn)說(shuō)明ode113非剛性多步法;Adams算法;高低精度均可到10-3~10-6計(jì)算時(shí)間比ode45短ode23t適度剛性采用梯形算法適度剛性情形ode15s剛性多步法;Gear’s反向數(shù)值微分;精度中等若ode45失效時(shí),可嘗試使用matlab解常微分方程的特別方法共35頁(yè),您現(xiàn)在瀏覽的是第12頁(yè)!參數(shù)設(shè)置屬性名取值含義AbsTol有效值:正實(shí)數(shù)或向量缺省值:1e-6絕對(duì)誤差對(duì)應(yīng)于解向量中的所有元素;向量則分別對(duì)應(yīng)于解向量中的每一分量RelTol有效值:正實(shí)數(shù)缺省值:1e-3相對(duì)誤差對(duì)應(yīng)于解向量中的所有元素。在每步(第k步)計(jì)算過(guò)程中,誤差估計(jì)為:e(k)<=max(RelTol*abs(y(k)),AbsTol(k))matlab解常微分方程的特別方法共35頁(yè),您現(xiàn)在瀏覽的是第13頁(yè)!參數(shù)設(shè)置屬性名取值含義OutputFcn有效值:odeplot、odephas2、odephas3、odeprint缺省值:odeplot若無(wú)輸出參量,則solver將執(zhí)行下面操作之一:畫(huà)出解向量中各元素隨時(shí)間的變化;畫(huà)出解向量中前兩個(gè)分量構(gòu)成的相平面圖;畫(huà)出解向量中前三個(gè)分量構(gòu)成的三維相空間圖;隨計(jì)算過(guò)程,顯示解向量matlab解常微分方程的特別方法共35頁(yè),您現(xiàn)在瀏覽的是第14頁(yè)!參數(shù)設(shè)置屬性名取值含義Jacobian有效值:on、off缺省值:off若為‘on’時(shí),返回相應(yīng)的ode函數(shù)的Jacobi矩陣Jpattern有效值:on、off缺省值:off為‘on’時(shí),返回相應(yīng)的ode函數(shù)的稀疏Jacobi矩陣matlab解常微分方程的特別方法共35頁(yè),您現(xiàn)在瀏覽的是第15頁(yè)!例3創(chuàng)建函數(shù)function2,保存在function2.m中functionf=function2(t,x)f=-x.^2;在命令窗口中執(zhí)行>>[t,x]=ode45('function2',[0,1],1);>>plot(t,x,'-',t,x,'o');>>xlabel('timet0=0,tt=1');>>ylabel('xvaluesx(0)=1');matlab解常微分方程的特別方法共35頁(yè),您現(xiàn)在瀏覽的是第16頁(yè)!例4創(chuàng)建函數(shù)function3,保存在function3.m中:functionf=function3(t,x)f=[x(1)-0.1*x(1)*x(2)+0.01*t;...-x(2)+0.02*x(1)*x(2)+0.04*t];matlab解常微分方程的特別方法共35頁(yè),您現(xiàn)在瀏覽的是第17頁(yè)!matlab解常微分方程的特別方法共35頁(yè),您現(xiàn)在瀏覽的是第18頁(yè)!創(chuàng)建函數(shù)function4,存在function4.m中functionf=function4(t,x)globalUf=[x(2);U*(1-x(1)^2)*x(2)-x(1)];再運(yùn)行命令文件runf4.m:globalUU=7;Y0=[1;0];[t,x]=ode45('function4',0,40,Y0);x1=x(:,1);x2=x(:,2);plot(t,x1,t,x2)matlab解常微分方程的特別方法共35頁(yè),您現(xiàn)在瀏覽的是第19頁(yè)!(4)若邊界條件少于方程(組)的階數(shù),則返回的結(jié)果r中會(huì)出現(xiàn)任意常數(shù)C1,C2,…;(5)dsolve命令最多可以接受12個(gè)輸入?yún)⒘浚òǚ匠探M與定解條件個(gè)數(shù),當(dāng)然我們可以做到輸入的方程個(gè)數(shù)多于12個(gè),只要將多個(gè)方程置于一字符串內(nèi)即可)。matlab解常微分方程的特別方法共35頁(yè),您現(xiàn)在瀏覽的是第20頁(yè)!例1>>

dsolve('D2y=-a^2*y,y(0)=1,Dy(pi/a)=0','x')ans=cos(a*x)>>

dsolve(‘D2y=-a^2*y’,‘y(0)=1,Dy(pi/a)=0’)matlab解常微分方程的特別方法共35頁(yè),您現(xiàn)在瀏覽的是第21頁(yè)!二、常微分方程(組)數(shù)值解Matlab專(zhuān)門(mén)用于求解常微分方程的函數(shù),主要采用Runge-Kutta方法:ode23,ode45,ode113,ode15s,ode23s,ode23t,ode23tbmatlab解常微分方程的特別方法共35頁(yè),您現(xiàn)在瀏覽的是第22頁(yè)!參數(shù)說(shuō)明:(1)solver為命令Ode45,ode23,ode113,ode15s,ode23s,ode23t,ode23tb之一。(2)odefun為常微分方程y’=f(x,y),或?yàn)榘换旌暇仃嚨姆匠?x,y)*y’=f(x,y).(3)tspan積分區(qū)間(即求解區(qū)間)的向量tspan=[t0,tf]。要獲得問(wèn)題在其他指定時(shí)間點(diǎn)t0,t1,t2,…上的解,則令tspan=[t0,t1,t2,…,tf](要求是單調(diào)的)。matlab解常微分方程的特別方法共35頁(yè),您現(xiàn)在瀏覽的是第23頁(yè)!在區(qū)間tspan=[t0,tf]上,從t0到tf,用初始條件y0求解顯式微分方程y’=f(t,y)。對(duì)于標(biāo)量t與列向量y,函數(shù)f=odefun(t,y)必須返回一f(t,y)的列向量f。解矩陣Y中的每一行對(duì)應(yīng)于返回的時(shí)間列向量T中的一個(gè)時(shí)間點(diǎn)。要獲得問(wèn)題在其他指定時(shí)間點(diǎn)t0,t1,t2,…上的解,則令tspan=[t0,t1,t2,…,tf](要求是單調(diào)的)。[T,Y]=solver(odefun,tspan,y0)matlab解常微分方程的特別方法共35頁(yè),您現(xiàn)在瀏覽的是第24頁(yè)!將參數(shù)p1,p2,p3,..等傳遞給函數(shù)odefun,再進(jìn)行計(jì)算。若沒(méi)有參數(shù)設(shè)置,則令options=[]。[T,Y]=

solver(odefun,tspan,y0,options,p1,p2…)matlab解常微分方程的特別方法共35頁(yè),您現(xiàn)在瀏覽的是第25頁(yè)!求解具體ODE的基本過(guò)程:(2)運(yùn)用數(shù)學(xué)中的變量替換:yn=y(n-1),yn-1=y(n-2),…,y2=y‘,y1=y,把高階(大于2階)的方程(組)寫(xiě)成一階微分方程組:matlab解常微分方程的特別方法共35頁(yè),您現(xiàn)在瀏覽的是第26頁(yè)!不同求解器Solver的特點(diǎn)求解器SolverODE類(lèi)型特點(diǎn)說(shuō)明ode45非剛性一步算法;4,5階Runge-Kutta方程;累計(jì)截?cái)嗾`差達(dá)(△x)3大部分場(chǎng)合的首選算法ode23非剛性一步算法;2,3階Runge-Kutta方程;累計(jì)截?cái)嗾`差達(dá)(△x)3使用于精度較低的情形matlab解常微分方程的特別方法共35頁(yè),您現(xiàn)在瀏覽的是第27頁(yè)!不同求解器Solver的特點(diǎn)求解器SolverODE類(lèi)型特點(diǎn)說(shuō)明ode23s剛性一步法;2階Rosebrock算法;低精度當(dāng)精度較低時(shí),計(jì)算時(shí)間比ode15s短ode23tb剛性梯形算法;低精度當(dāng)精度較低時(shí),計(jì)算時(shí)間比ode15s短matlab解常微分方程的特別方法共35頁(yè),您現(xiàn)在瀏覽的是第28頁(yè)!參數(shù)設(shè)置屬性名取值含義NormControl有效值:on、off缺省值:off為‘on’時(shí),控制解向量范數(shù)的相對(duì)誤差,使每步計(jì)算中,滿(mǎn)足:norm(e)<=max(RelTol*norm(y),AbsTol)Events有效值:on、off為‘on’時(shí),返回相應(yīng)的事件記錄matlab解常微分方程的特別方法共35頁(yè),您現(xiàn)在瀏覽的是第29頁(yè)!參數(shù)設(shè)置屬性名取值含義OutputSel有效值:正整數(shù)向量缺省值:[]若不使用缺省設(shè)置,則OutputFcn所表現(xiàn)的是那些正整數(shù)指定的解向量中的分量的曲線或數(shù)據(jù)。若為缺省值時(shí),則缺省地按上面情形進(jìn)行操作Refine有效值:正整數(shù)k>1缺省值:k=1若k>1,則增加每個(gè)積分步中的數(shù)據(jù)點(diǎn)記錄,使解曲線更加的光滑matlab解常微分方程的特別方法共35頁(yè),您現(xiàn)在瀏覽的是第30頁(yè)!參數(shù)設(shè)置屬性名取值含義Mass有效值:none、M、M(t)、M(t,y)缺省值:noneM:不隨時(shí)間變化的常數(shù)矩陣M(t):隨時(shí)間變化的矩陣M(t,y):隨時(shí)間、地點(diǎn)變化的矩陣MaxStep有效值:正實(shí)數(shù)缺省值:tspans/10最大積分步長(zhǎng)matlab解常微分方程的特別方法共3

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論