【问题标题】:Solving coupled differential equations with time delay求解具有时间延迟的耦合微分方程
【发布时间】:2016-11-28 21:25:12
【问题描述】:

我正在尝试对势能中的粒子运动进行建模并结合反馈。我遇到的问题是增加了反馈的延迟。因此,在 Matlab 中工作时,我有一个基本脚本,如下所示:

clear all; close all;
qx = .3;
qy = .4;
qz = .5;
om_D = 1.2e8;
ep = 1e-10;

t = 0:1e-11:1e-5;

[t,rss]=ode45(@ion_test, t, [1e-7 .45 2e-7 -.45 0.5e-7 .45],[], qx, qy, qz, om_D, ep);

其中ion_test.m是一个函数文件,内容如下:

function dr = ion_test(t,r, qx, qy, qz, om_D, ep)    
    dr = zeros(6,1);
    dr(1) = r(2);
    dr(2) = (2*qx*cos(om_D.*t) + ep.*2*r(3)*r(5));
    dr(3) = r(4);
    dr(4) = (2*qy*cos(om_D.*t) + ep.*2*r(1)*r(5));
    dr(5) = r(6);
    dr(6) = (2*qz*cos(om_D.*t) + ep.*2*r(1)*r(3));
end

如您所见,r 的每个坐标的微分方程是耦合的。我需要补充的是,每个方程能够在以前的时间调用其他坐标的值,而不仅仅是它们的当前值。这样做的目的是建立延迟反馈机制。 非常感谢任何帮助!

【问题讨论】:

  • 希望这个版本更清晰
  • 不。我需要能够复制粘贴并运行它
  • 好的,又调整了。希望现在这很简单。

标签: matlab integration feedback


【解决方案1】:

我认为我的问题的答案基本上是我需要使用 dde23 而不是 ode45。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-14
    • 2012-02-28
    • 1970-01-01
    • 2022-07-16
    相关资源
    最近更新 更多