我可以从 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>
为您的解决方案指定 t0
和 tend
。
查看有关使用 dde 求解器的 Matlab page。此外,在 Matlab 中键入 edit ddex1
将向您展示使用求解器和辅助函数的示例。
我有一个包含 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>
为您的解决方案指定t0
和tend
。
查看有关使用 dde 求解器的 Matlab page。此外,在 Matlab 中键入 edit ddex1
将向您展示使用求解器和辅助函数的示例。