【问题标题】:How to solve coupled differential equation in matlab using ode45如何使用ode45在matlab中求解耦合微分方程
【发布时间】:2018-11-28 12:17:23
【问题描述】:

我有两个微分方程: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】:

    这很容易。

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

    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]);
    

    这是结果:

    【讨论】:

    • 哇!非常感谢您的清晰解释。实际上,我必须绘制 /tau vs a.你能告诉我,我怎么能画出来?
    • 是的,一旦你解决了 ode,你的结果就会存储在变量 y 中,y(1)ay(2)tau。只需绘制一个与另一个的对比图。
    • 更正:y(:,1)ay(:,2)tau 因为 ynx2 的矩阵,其中 n 是时间值的数量.
    • PS:您可能想看看documentation for ode45 并熟悉如何在 MATLAB 中求解 odes。
    • 如果它解决了您的问题,请考虑接受答案。
    猜你喜欢
    • 1970-01-01
    • 2012-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-28
    相关资源
    最近更新 更多