MATLAB 教程:使用 dsolve 求解常微分方程
时间:2026-04-05 12:06 来源:Internet 作者:admin 点击:次
常微分方程(ODE)有时很难求解,但 MATLAB 提供了功能强大的符号计算工具来帮助我们。
由于是求解微分方程,我们需要一种方法在表达式中表示导数。
例如,方程 $y'' = 0$ 可以用符号表达式 1. 一阶常微分方程我们以一阶方程 $\frac{dy}{dx} = 1 + y^2$ 为例,求其通解:
Matlab
注:其中 如果我们要为同一个方程添加初始条件 $y(0) = 1$,可以这样写:
Matlab
如果你想指定自变量(例如将自变量指定为
Matlab
2. 二阶常微分方程让我们来看一个带有两个初始条件的二阶微分方程示例:
$$y'' = \cos(2x) - y$$
初始条件:$y'(0) = 0, y(0) = 1$ 在 MATLAB 中求解:
Matlab
{C}{C}
{C}
我们可以使用
Matlab
包含一阶以上项的方程通常,我们要解的微分方程会包含多阶导数项,例如:
$$y'' - 2y' - 3y = 0$$
求该方程的通解(注:原文此处存在笔误使用了
Matlab
{C}{C}
{C}
加上初始条件 $y(0) = 0$ 和 $y(1) = 1$:
Matlab
为了让输出结果更符合人类的数学阅读习惯,可以使用
Matlab
3. 绘制结果图像
得到符号解后,我们通常需要在感兴趣的区域内绘制结果。可以使用
Matlab
(图 22.3 符号函数 $y = -\frac{e^{-x} - e^{3x}}{e^3 - e^{-1}}$ 在 $-6 \le x \le 2$ 区间的图像) 4. 求解微分方程组
$$f' = 3f + 4g$$
$$g' = -4f + 3g$$
求通解的代码如下:
Matlab
{C}{C}
{C}
加上初始条件 $f(0) = 0$ 和 $g(0) = 1$,我们可以得到特解:
Matlab
(责任编辑:泉水) |