写一段matlab代码求解二阶常系数齐次线性微分方程
时间: 2023-12-23 19:04:16 浏览: 161
假设二阶常系数齐次线性微分方程为:
$$y'' + a_1 y' + a_2 y = 0$$
其中 $a_1$ 和 $a_2$ 是常数,$y$ 是未知函数。我们可以使用 MATLAB 中的 ode45 函数来求解该微分方程。具体实现如下:
```matlab
% 定义常数
a1 = 1;
a2 = 1;
% 定义函数句柄
f = @(t, y) [y(2); -a1*y(2) - a2*y(1)];
% 定义时间范围和初值条件
tspan = [0, 10];
y0 = [1; 0];
% 使用 ode45 求解微分方程
[t, y] = ode45(f, tspan, y0);
% 绘制解的图像
plot(t, y(:, 1));
```
在这段代码中,我们首先定义了常数 $a_1$ 和 $a_2$,然后定义了函数句柄 $f$,其中 $f$ 表示微分方程的右侧。接着,我们定义了时间范围和初值条件,然后使用 ode45 函数求解微分方程。最后,我们绘制了解的图像。
阅读全文