导读 在科学与工程领域,微分方程是描述动态系统的重要工具。而 MATLAB 中的 `ode45` 是一个非常强大的函数,用于求解一阶微分方程组!它基...
在科学与工程领域,微分方程是描述动态系统的重要工具。而 MATLAB 中的 `ode45` 是一个非常强大的函数,用于求解一阶微分方程组!它基于龙格-库塔方法,适合大多数非刚性问题的数值求解。
首先,你需要定义你的微分方程。例如,假设我们要求解经典的洛特卡-沃尔泰拉模型(即捕食者-猎物模型):
```matlab
function dydt = lotkaVolterra(t, y)
a = 1; b = 0.1; c = 1.5; d = 0.075;
dydt = zeros(2,1);
dydt(1) = ay(1) - by(1)y(2); % 猎物的增长率
dydt(2) = -cy(2) + dy(1)y(2); % 捕食者的死亡率
end
```
接着,在主脚本中调用 `ode45`:
```matlab
[t, y] = ode45(@lotkaVolterra, [0 15], [20 10]);
plot(t, y(:,1), 'r', t, y(:,2), 'b');
legend('猎物', '捕食者');
title('洛特卡-沃尔泰拉模型');
xlabel('时间');
ylabel('种群数量');
```
运行后,你将看到一条美丽的曲线,展示了猎物和捕食者之间相互作用的时间变化。这种方法不仅高效,而且易于实现,是学习数值分析的好起点!🌟
MATLAB ode45 微分方程