我有一个由4个方程和5个参数组成的系统,我想在ODE系统中包含一个时间延迟,但我认为如果我从已经使用的ODE系统开始解决DDE系统会更好。 有没有办法在MATLAB中连接这两个系统?
我试过这种语法:
[t, y] = dde23('ODEfinal', [0 12000], [4*C 0 0 0]);
但MATLAB每次都会标记错误。
答案 0 :(得分:1)
您的语法似乎不正确。这应该是这样的:
[t,y] = dde23(@function, <lags>, @history, <tspan>)
,其中
@function
是你的ODE函数句柄
<lags>
是一个常量数组,用于指定函数中每个变量的延迟
@history
是一个函数,它返回t<=t0
系统的解决方案,以下列方式之一指定:
t
的函数,y = history(t)
返回解y(t)
t ≤ t0
作为列向量y(t)
是常量<tspan>
为您的解决方案指定t0
和tend
。使用dde求解器查看Matlab page。此外,在Matlab中键入edit ddex1
将向您显示使用求解器和辅助函数的示例。