天天看點

MATLAB解決常微分方程

  1. 首先得介紹一下,在matlab中解常微分方程有兩種方法,一種是符号解法,另一種是數值解法。在大學階段的微分數學題,基本上可以通過符号解法解決。
  2. 用matlab解決常微分問題的符号解法的關鍵指令是dslove指令。該指令中可以用D表示微分符号,其中D2表示二階微分,D3表示三階微分,以此類推。值得注意的是該微分預設是對自變量t求導,也可以很容易在指令中改為對其他變量求導。
  3. 說了半天,該指令的最完整的形式如下。

    r=dsolve('eqn1','eqn2',...,'cond1','cond2',...,'var').

    解釋如下:eqni表示第i個微分方程,condi表示第i個初始條件,var表示微分方程中的自變量,預設為t。

  4. 解釋了半天,不如用執行個體來說明。下面以解決一個簡單的微分方程入手。方程如下。
    MATLAB解決常微分方程
  5. 首先啟動matlab軟體,在指令行中歡快地敲入

    dslove(‘Dy=3*x*x’,‘x’),然後輕松地摁一下鍵盤上的enter建,最後答案就蹦出來了。

    MATLAB解決常微分方程
  6. 下面,我們來加大難度,在上面的方程條件下加入初始條件x=0時,y=2。

    隻需在相同的指令中加入一個條件語句就可以了。指令形式為

    dslove(‘Dy=3*x*x’,‘y(0)=2’,‘x’)。可以看到答案中的常數項

    C2已經變成了2。

    MATLAB解決常微分方程
  7. 最後,我再加大一下難度。這次來求一個微分方程組。方程組如下。初始條件為x(0)=2,y(0)=1,dy(0)=1.
    MATLAB解決常微分方程
  8. 在指令中隻需改一下相應的方程與條件即可以了,由于是對t求導,是以可以用預設,不需要在末尾添加‘t’。
    MATLAB解決常微分方程
  9. 9可以看到用matlab中的dslove指令确實可以解決許多常微分問題。

    作者:唐一001

作者:你的雷哥