求解时滞微分方程
时滞微分方程(DDEs)是常微分方程,它将当前时刻的解与过去时刻的解联系起来。这种延迟可以是恒定的、依赖于时间的、依赖于状态的或依赖于导数的。为了开始集成,通常必须提供解决方案历史记录,以便在初始集成点之前求解器可以多次访问解决方案。
恒定延迟dd
常时滞微分方程组的形式为:
在这里,t是自变量,y是因变量的列向量,和y表示的一阶导数y关于t.拖延,τ1、……τk,都是正常数。
的dde23
函数求解具有历史常数延迟的ddey(t) =年代(t)t<t0.
dde的解一般是连续的,但它们的导数具有不连续性。的dde23
函数在低阶导数中跟踪不连续。它将微分方程与所使用的相同的显式龙格-库塔(2,3)对和插值函数集成在一起ode23
.龙格-库塔公式隐含在步长大于延迟的情况下。当y(t)足够平滑,可以证明这么大的步骤,隐式公式由预测-校正迭代计算。
依赖时间和依赖状态的dde
恒定时延是一般DDE形式的特例:
依赖时间和依赖状态的dde涉及延迟dy1、……dyk这取决于时间t和国家y.延误dyj(t,y)必须满足dyj(t,y)≤t在区间上[t0,tf)与t0<tf.
的ddesd
函数找到了解,y(t),对于具有历史的依赖时间和依赖状态的ddey(t) =年代(t)t<t0.的ddesd
函数集成了经典的四级四阶显式龙格-库塔法,并控制了自然插值的残差大小。它使用迭代来采取比延迟更长的步骤。
中立型dde
中立型时滞微分方程涉及时滞y,以及y:
解决方案中的延迟必须令人满意dy我(t,y)≤t.一阶导数中的延迟必须满足多元印刷j(t,y) <t这y等式的两边都没有出现。
的ddensd
函数通过对依赖时间和依赖状态的延迟所给出的形式近似dde来求解中立型dde:
有关更多信息,请参见shammpine[1].
在特定点上评估解决方案
使用德瓦尔
函数和任何DDE求解器的输出来评估积分区间中特定点的解。例如,Y = deval(sol, 0.5*(sol.x(1) + sol.x(end)))
求积分区间中点处的解。
历史和初始值
当你解一个DDE时,你在一个区间上近似解[t0,tf)与t0<tf.dde说明了这一点y”(t)取决于解(可能还有它的导数)在t.例如,持续的延迟y”(t0)取决于y(t0- - - - - -τ1),…y(t0- - - - - -τk)为正常数τj.正因为如此,[上的解]t0,tk取决于它的值t≤t0.你必须用历史函数定义这些值,y(t) =年代(t)t<t0.
dd的不连续性
如果你的问题有不连续的地方,最好使用选项结构将它们传达给求解器。要做到这一点,请使用ddeset
函数来创建选项
结构,包含问题中的不连续点。
中有三个属性选项
结构,可用于指定不连续;克尔
,跳跃
,事件
.选择的属性取决于不连续点的位置和性质。
不连续的性质 |
财产 |
评论 |
---|---|---|
在初始值处t=t0 |
|
通常是初始值y(t0)为年代(t0),表示解在初始点是连续的。方法提供不同的初始值 |
在历史中,即解在t<t0,或代入系数式中t>t0 |
|
提供已知位置t的值 |
依赖政府 |
|
|
传播的不连续性
一般来说,解的一阶导数在初始点有一个跳变。这是因为历史函数的一阶导数,年代(t),此时通常不满足DDE。的任何导数的不连续y(t的间隔向未来传播τ1、……τk当延迟是恒定的。如果延迟不是恒定的,不连续的传播就更加复杂。中形式的中性dde恒定延迟dd而且依赖时间和依赖状态的dde,每次传播时,不连续都出现在下一阶导数中。在这种意义上,随着集成的进行,解决方案会变得更加流畅。中给出的中性dde的解中立型dde有很大的不同。解中的不连续不会传播到高阶导数。特别是典型的跳进去y”(t)t0以跳入的方式进行传播y”(t在()t0,tf]。
DDE示例和文件
对于大多数常见的DDE问题,有几个可用的示例文件可以作为很好的起点。要方便地研究和运行示例,只需使用微分方程的例子要运行这个应用程序,输入
odeexamples
编辑exampleFileName.m
exampleFileName