跳轉到內容

MATLAB 程式設計/階微分方程

來自華夏公益教科書,開放的書籍,開放的世界

微分方程的階數

[編輯 | 編輯原始碼]

微分方程是一個包含函式及其一個或多個導數的方程。它通常用來描述變化。

注意:導數 =


微分方程的階數是指方程中涉及的因變數最高階導數的階數,即函式相對於自變數的普通導數。通常,目標是求解微分方程,即確定哪些函式滿足該方程。這意味著微分方程定義了變數及其導數之間的關係。

主要有兩種型別的 ODE

  1. 一階微分方程 (1st ODE)
  2. 二階微分方程 (2nd ODE)

一階微分方程

[編輯 | 編輯原始碼]

所有形如導數的線性方程都是一階的。它只包含一階導數,例如 dy/dx,其中 x 和 y 是兩個變數,表示為

二階微分方程

[編輯 | 編輯原始碼]

當最高階導數的階數為 2 時,它就是一個二階微分方程。

使用dsolve求解微分方程

[編輯 | 編輯原始碼]

我們有以下微分方程:

,


為了在 MATLAB 中求解此微分方程,我們使用dsolve命令獲取如下答案

>>s=dsolve('D3y+2*D2y+5*Dy+4*y=5*x','y(0)=1','Dy(0)=3')

s =
 
(5*x)/4 - exp(-t)*(15^(1/2)*C1 - (5*x)/4 + 7) + exp(-t/2)*cos((15^(1/2)*t)/2)*(15^(1/2)*C1 - (5*x)/2 + 8) - C1*exp(-t/2)*sin((15^(1/2)*t)/2)

MATLAB 中的 ODE 求解器型別

[編輯 | 編輯原始碼]

有幾種型別的 ODE 求解器,但我們將重點關注最常用的求解器

ODE 精度 用例建議
ode45 中等 對於大多數用例,ode45 足以求解 ODE
ode23 在公差粗略的問題中,ode23 可能比 ode45 更有效率
ode113 低到高 在誤差容差嚴格的問題中,或者當 ODE 函式的計算量很大時,ode113 可能比 ode45 更有效率。

示例:使用 ODE45 求解微分方程

[編輯 | 編輯原始碼]

有 10,000 美元存入銀行定期存款賬戶,年利率為 2%。

首先,我們需要做一個方程來模擬這筆錢。

方程 1:  : 每年儲蓄利息是銀行餘額的 2%,隨著時間的推移,

方程 2: : 初始金額為 10,000 美元


從方程 1 中,我們取出(注意:需要諮詢其他維基專案如何推匯出線性方程)

,其中

,從方程 2 中得出


使用 dsolve 函式,我們可以類似地轉換微分方程

>> syms M(t) p
>> eqn = diff(M,t) == 0.02*M;
>> S= dsolve(eqn,M(0)==10000)
 
S =
10000*exp(t/50)


因此,我們有方程(顯示為 S)來進行建模。

在 MALAB 中,使用 ode45 計算微分方程的語法如下:

[t,y] = ode45(odefun,tspan,y0)

其中:

t = 評估點,返回為列向量

y = 解,返回為陣列

odefun = ode 函式。您可以使用匿名函式,而不是為函式編寫新檔案

tspan = 積分割槽間,指定為向量。至少,tspan 必須是指定初始時間和最終時間的兩位元素向量 [t0 tf]

y0 = 初始條件,指定為向量。y0 必須與 ode 函式的向量輸出長度相同,


使用 dsolve 轉換微分方程 ode45 函式來求解 ODE

function [T,M] = money_in_bank(R)

% Enter the initial values for the amount of money in the bank
M0 = 1000;

% Enter the interest rate
R = 2;

% Enter the time period
T0 = 1;
Tf = 30;

% using dsolve previously
S=10000*exp(T0/50)

% Solve the differential equation
[T, M] = ode45(@(T,M)S, [T0, Tf], M0);

% Plot the solution
plot(T,M,'-o')

% Add a legend and labels
legend('M(t)')
xlabel('Years')
ylabel('Money in Bank')

參考文獻

[edit | edit source]

https://web.archive.org/web/20220201162959/https://byjus.com/maths/differential-equation-and-its-degree/

https://web.archive.org/web/20220822141804/https://www.cuemath.com/calculus/order-of-differential-equation/

https://web.archive.org/web/20220730032908/https://www.mathsisfun.com/calculus/differential-equations.html

華夏公益教科書