我可以从 ODE 系统开始求解 DDE 吗?

Can I solve DDEs starting from an ODE system?

我有一个包含 4 个方程和 5 个参数的系统,我想在 ODE 系统上加入一个时间延迟,但我认为如果我从我已有的 ODE 系统开始求解 DDE 系统会更好。 有没有办法在 MATLAB 中连接这两个系统?

我试过这个语法:

[t, y] = dde23('ODEfinal', [0 12000], [4*C 0 0 0]);

但是MATLAB每次都会标记错误。

看来你的语法不正确。这应该是这样的:

[t,y] = dde23(@function, <lags>, @history, <tspan>),其中

@function 是您的 ODE 函数句柄 <lags> 是一个常量数组,指定函数中每个变量的延迟 @history 是 returns 系统在 t<=t0 的解的函数,指定为以下方式之一:

  • t 的函数使得 y = history(t) returns 解 y(t) 对于 t ≤ t0 作为列向量
  • 常量列向量,如果y(t)是常量
  • 来自先前集成的解决方案 sol,如果此调用 继续整合 <tspan> 为您的解决方案指定 t0tend

查看有关使用 dde ​​求解器的 Matlab page。此外,在 Matlab 中键入 edit ddex1 将向您展示使用求解器和辅助函数的示例。