- 首先得介紹一下,在matlab中解常微分方程有兩種方法,一種是符号解法,另一種是數值解法。在大學階段的微分數學題,基本上可以通過符号解法解決。
- 用matlab解決常微分問題的符号解法的關鍵指令是dslove指令。該指令中可以用D表示微分符号,其中D2表示二階微分,D3表示三階微分,以此類推。值得注意的是該微分預設是對自變量t求導,也可以很容易在指令中改為對其他變量求導。
-
說了半天,該指令的最完整的形式如下。
r=dsolve('eqn1','eqn2',...,'cond1','cond2',...,'var').
解釋如下:eqni表示第i個微分方程,condi表示第i個初始條件,var表示微分方程中的自變量,預設為t。
- 解釋了半天,不如用執行個體來說明。下面以解決一個簡單的微分方程入手。方程如下。
-
首先啟動matlab軟體,在指令行中歡快地敲入
dslove(‘Dy=3*x*x’,‘x’),然後輕松地摁一下鍵盤上的enter建,最後答案就蹦出來了。
-
下面,我們來加大難度,在上面的方程條件下加入初始條件x=0時,y=2。
隻需在相同的指令中加入一個條件語句就可以了。指令形式為
dslove(‘Dy=3*x*x’,‘y(0)=2’,‘x’)。可以看到答案中的常數項
C2已經變成了2。
- 最後,我再加大一下難度。這次來求一個微分方程組。方程組如下。初始條件為x(0)=2,y(0)=1,dy(0)=1.
- 在指令中隻需改一下相應的方程與條件即可以了,由于是對t求導,是以可以用預設,不需要在末尾添加‘t’。
-
9可以看到用matlab中的dslove指令确實可以解決許多常微分問題。
作者:唐一001
作者:你的雷哥