Matlab 求解耦合时滞微分方程

Matlab 求解耦合时滞微分方程,matlab,integration,feedback,Matlab,Integration,Feedback,我试图在势场中模拟粒子的运动,并加入反馈。我遇到的问题是给反馈增加了延迟。因此,在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);

我试图在势场中模拟粒子的运动,并加入反馈。我遇到的问题是给反馈增加了延迟。因此,在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
的每个坐标的微分方程是耦合的。我需要补充的是,每个方程能够调用以前其他坐标的值,而不仅仅是它们的当前值。其目的是建立延迟反馈机制。
非常感谢任何帮助

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

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

请发布一个希望,这个版本是ClearOpe。我需要能够复制粘贴它,并运行itOk,再次调整。希望这是一个简单明了的版本。请发布一个希望这个版本是ClearOpe。我需要能够复制粘贴它,并运行itOk,再次调整。希望这是一件简单的事情。