如何用ode45求解matlab中的耦合微分方程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用ode45求解matlab中的耦合微分方程相关的知识,希望对你有一定的参考价值。

我有两个微分方程:da / dt = a(.3 / a ^ 3 + .7)^ 1/2和dτ/ dt = 1 / a。初始条件是t = 0; a = 1且τ= 0。如何在Matlab中求解方程?我需要计算a,t和τ的不同值,同时绘制τ对a的曲线。谢谢。

答案

这很容易。

首先编写一个函数来实现微分方程,并使用与函数名对应的文件名保存:

function dy = my_ode(t,y)
dy(1) = y(1)*(0.3/y(1)^3 + 0.)^(1/2); % a
dy(2) = 1/dy(1); % tau

然后在MATLAB中,使用您的函数调用ode45求解器

[t,y] = ode45(@my_ode,[0 10],[1; 0]);

这是结果:

enter image description here

以上是关于如何用ode45求解matlab中的耦合微分方程的主要内容,如果未能解决你的问题,请参考以下文章

如何用matlab求解二阶微分方程,以及程序实例

matlab微分方程的解?

如何用matlab求解微分方程组的数值解

Matlab通过ode求解微分方程

matlab欧拉方程求解微分方程并和ode45对比结果

matlab ode45求解常微分方程模板