Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

解算时滞微分方程

时滞微分方程 (DDE) 是当前时间的解与过去时间的解相关的常微分方程。该时滞可以固定不变、与时间相关、与状态相关或与导数相关。要开始积分,通常必须提供历史解,以便求解器可以获取初始积分点之前的时间的解。

常时滞 DDE

具有常时滞的微分方程组的形式如下:

y(t)=f(t,y(t),y(tτ1),,y(tτk)).

此处,t 为自变量,y 为因变量的列向量,而 y′ 表示 y 关于 t 的一阶导数。时滞 τ1,…,τk 是正常量。

dde23 函数用于求解具有历史解 y(t) = S(t)(其中 t <t0)的常时滞 DDE。

DDE 的解通常是连续的,但其导数不连续。dde23 函数跟踪低阶导数的不连续性,并使用 ode23 使用的同一显式 Runge-Kutta (2,3) 对和插值求微分方程的积分。对于大于时滞的步长而言,Runge-Kutta 公式是隐式的。当 y(t) 足够平滑以证明此大小的步长时,使用预测-校正迭代法计算隐式公式。

时间相关和状态相关的 DDE

常时滞 DDE 是一种特殊情况,更为一般的 DDE 形式为:

y(t)=f(t,y(t),y(dy1),...,y(dyp)).

时间依赖和状态依赖 DDE 涉及可能依赖于时间 t 和状态 y 的时滞 dy1、...、dyk。时滞 dyj(t, y) 必须满足 dyj(t, y) ≤ t(在区间 [t0, tf] 上,其中 t0 < tf)。

ddesd 函数用于求具有历史解 y(t) = S(t)(其中 t < t0)的时间相关和状态相关 DDE 的解 y(t)。ddesd 函数使用标准的四级、四阶显式 Runge-Kutta 法来求积分,并它控制自然插值的余值大小。它使用迭代来采用超过时滞的步长。

中立型 DDE

中立型的时滞微分方程涉及在 y ′ 以及 y 中的时滞:

y(t)=f(t,y(t),y(dy1),...,y(dyp),y(dyp1),...,y(dypq)).

解中的时滞必须满足 dyi(t,y) ≤ t。一阶导数的时滞必须满足 dypj(t,y) < t,以便 y ′ 不显示在方程两端。

ddensd 函数使用时间依赖和状态依赖 DDE 来逼近中立型 DDE,从而对其求解:

y(t)=f(t,y(t),y(dy1),...,y(dyp)).

有关详细信息,请参阅 Shampine[1]

计算特定点的解

使用 deval 函数和任何 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) = S(t)(其中 t <t0)定义这些值。

DDE 中的不连续性

如果问题具有不连续性,最好使用 options 结构体将其传递给求解器。为此,请使用 ddeset 创建一个 options 结构体以包含问题中的不连续性。

options 结构体中有三个属性可用于指定不连续性;InitialYJumpsEvents。选择的属性取决于不连续性的位置和特性。

不连续性的特性

属性

注释

在初始值 t = t0

InitialY

初始值 y(t0) 通常是历史解函数返回的值 S(t0),也就是说,解在初始点连续。如果不属于此种情况,请使用 InitialY 属性提供一个不同的初始值。

在历史解(即 t <t0 的解)或在 t >t0 的方程系数中

Jumps

在向量中提供不连续处的已知位置 t,以作为 Jumps 属性的值。仅适用于 dde23

与状态相关

Events

dde23ddesdddensd 使用您提供的事件函数来查找这些不连续的位置。当求解器查找这种不连续的位置时,请重新启动积分以便继续。将当前积分的解结构体指定为新积分的历史解。求解器在每次重新启动之后扩展解结构体的每个元素,以使最终结构体为整个积分区间提供解。如果新问题与解变化相关,请使用 InitialY 属性指定新集成的初始值。

不连续性传播

通常,解的一阶导数在初始点处具有跳跃性。这是因为历史解函数 S(t) 的一阶导数通常在此点处不满足 DDE。当时滞为常量时,则 y(t) 的任何导数中的以间距 τ1,…, τk 传播不连续点。如果时滞不为常量,则不连续性的传播更复杂。对于 常时滞 DDE时间相关和状态相关的 DDE 形式的中立型 DDE,每次传播时,不连续性会出现在高一阶的导数中。在这种意义上,解会随着积分的进行而变得更圆滑。中立型 DDE 中指定的形式的中立型 DDE 的解在性质上不同。解的不连续性不会传播到高阶的导数。特别是,y ′(t) 中 t0 处的典型跳跃作为 y ′(t) 中的跳跃传播到整个 [t0, tf]。

DDE 示例和文件

可使用几个示例文件作为求解最常见 DDE 问题的绝佳起点。要方便地查看和运行示例,可以使用 Differential Equations Examples App。要运行此 App,请键入

odeexamples
要打开单独的示例文件进行编辑,请键入
edit exampleFileName.m
要运行示例,请键入
exampleFileName

下表包含可用的 DDE 示例文件及其使用的求解器和选项的列表。

示例文件

使用的求解器指定的选项

说明

示例链接

ddex1

dde23

-

具有常历史解的 DDE

具有常时滞的 DDE

ddex2

dde23

  • 'Jumps'

具有不连续性的 DDE

具有不连续性的心血管模型 DDE

ddex3

ddesd

-

具有状态依赖时滞的 DDE

具有状态依赖时滞的 DDE

ddex4

ddensd

-

带有两个时滞的中立型 DDE

中立型 DDE

ddex5

ddensd

-

具有初始值的中立型 DDE

中立型的初始值 DDE

参考

[1] Shampine, L.F. “Dissipative Approximations to Neutral DDEs.” Applied Mathematics & Computation, Vol. 203, 2008, pp. 641–648.

另请参阅

| | |

相关主题