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

问题描述 投票:0回答:1

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

matlab matlab-figure ode45
1个回答
2
投票

这很容易。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.