跳转到内容

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

华夏公益教科书