背景
中性延迟微分方程的导数不仅取决于其过去状态,还取决于过去点的导数:
与f(y(t_0))之间的差异,其中是数值积分的开始时间. 对于常规(延迟)DDE,这种不连续性很快就会被消除,因此可以在开始时通过一些有针对性的步骤来消除。对于中性 DDE,这不会发生。
实际问题
在谈到数值积分中性 DDE 时,迄今为止我调查的所有文献都只提到初始不连续性是一个新问题(与延迟 DDE 相比)。是否还有其他问题需要特别注意这类 DDE?
中性延迟微分方程的导数不仅取决于其过去状态,还取决于过去点的导数:
与f(y(t_0))之间的差异,其中是数值积分的开始时间. 对于常规(延迟)DDE,这种不连续性很快就会被消除,因此可以在开始时通过一些有针对性的步骤来消除。对于中性 DDE,这不会发生。
在谈到数值积分中性 DDE 时,迄今为止我调查的所有文献都只提到初始不连续性是一个新问题(与延迟 DDE 相比)。是否还有其他问题需要特别注意这类 DDE?
不,这几乎是问题所在。使用“正常 DDE”,您知道不连续性的阶每次被击中都会降低,因此在次之后您可以将其丢弃(如果是离散化的阶)。但是对于中性 DDE,不连续性的顺序不一定每次都下降,因此您必须继续跟踪它们。如果您有多个延迟,这可能会变得非常昂贵,因为您必须跟踪每个组合,这些组合快速加起来并降低步长。
对于其他方法,当然你可以通过纯粹依靠残差控制来解决这个问题,但是当不连续性堆积起来时成本太高,所以我还没有看到有人真正推荐这样做。Shampine 有另一种解决 ddesnd 的方法,可以在他的网站上找到(有趣的是,这个方法从未添加到 MATLAB ODE 套件中),并且通过对延迟 DDE 的“耗散”转换来实现。