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

常时滞DDE

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

y ′ ( t ) = f ( t , y ( t ) , y ( t − τ 1 ) , … , y ( t − τ k ) ) . y'(t)=f(t,y(t),y(t−τ_1),…,y(t−τ_k)). y′(t)=f(t,y(t),y(t−τ1​),…,y(t−τk​)).

此处,t 为自变量,y 为因变量的列向量,而 y′ 表示 y 关于 t 的一阶导数。时滞 τ 1 , … , τ k τ_1,…,τ_k τ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 ( d y 1 ) , . . . , y ( d y p ) ) . y'(t)=f(t,y(t),y(dy_1),...,y(dy_p)). y′(t)=f(t,y(t),y(dy1​),...,y(dyp​)).

时间相关和状态相关的 DDE 涉及可能依赖于时间 t 和状态 y 的时滞 d y 1 、 . . . 、 d y k dy_1、...、dy_k dy1​、...、dyk​。时滞 d y j ( t , y ) dy_j(t, y) dyj​(t,y) 必须满足 d y j ( t , y ) ≤ t dy_j(t, y) ≤ t dyj​(t,y)≤t(在区间 [ t 0 , t f ] [t_0, t_f] [t0​,tf​] 上,其中 t 0 < t f t_0 < t_f t0​<tf​)。

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

中立型 DDE

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

y ′ ( t ) = f ( t , y ( t ) , y ( d y 1 ) , . . . , y ( d y p ) , y ′ ( d y p 1 ) , . . . , y ′ ( d y p q ) ) . y'(t)=f(t,y(t),y(dy_1),...,y(dy_p),y'(dy_{p_1}),...,y'(dy_{p_q})). y′(t)=f(t,y(t),y(dy1​),...,y(dyp​),y′(dyp1​​),...,y′(dypq​​)).

解中的时滞必须满足 d y i ( t , y ) ≤ t dy_i(t,y) ≤ t dyi​(t,y)≤t。一阶导数的时滞必须满足 d y p j ( t , y ) < t dy_{p_j}(t,y) < t dypj​​(t,y)<t,以便 y′ 不显示在方程两端。

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

y ′ ( t ) = f ( t , y ( t ) , y ( d y 1 ) , . . . , y ( d y p ) ) . y'(t)=f(t,y(t),y(dy_1),...,y(dy_p)). y′(t)=f(t,y(t),y(dy1​),...,y(dyp​)).

计算特定点的解

使用 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 结构体中有三个属性可用于指定不连续性;InitialY、Jumps 和 Events。选择的属性取决于不连续性的位置和特性。

不连续性的特性 属性 注释
在初始值 t = t0 处 InitialY 初始值 y(t0) 通常是历史解函数返回的值 S(t0),也就是说,解在初始点连续。如果不属于此种情况,请使用 InitialY 属性提供一个不同的初始值。
在历史解(即 t <t0 的解)或在 t >t0 的方程系数中 Jumps 在向量中提供不连续处的已知位置 t,以作为 Jumps 属性的值。仅适用于 dde23。
与状态相关 Events dde23、ddesd 和 ddensd 使用您提供的事件函数来查找这些不连续的位置。当求解器查找这种不连续的位置时,请重新启动积分以便继续。将当前积分的解结构体指定为新积分的历史解。求解器在每次重新启动之后扩展解结构体的每个元素,以使最终结构体为整个积分区间提供解。如果新问题与解变化相关,请使用 InitialY 属性指定新集成的初始值。

不连续性传播

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

MATLAB 数学应用 微分方程 时滞微分方程 解算时滞微分方程相关推荐

  1. 基于matlab的摄影测量后方交会元素解算

    自己做的后方交会元素解算matlab源程序 废话不多说,直接上代码 代码的原始数据都已经直接赋值了,可以再写一点点代码读入excel或者txt // A code block %单幅影像后方交会 %a ...

  2. relerr在matlab中,使用MATLAB里面的ODE解算常系数微分方程,误差超出范围

    MATLAB代码: %仿真选项设置 TINITIAL=0;%仿真初始时间 TFINAL=5;%仿真终止时间 INTEGSTP=0.001;%积分步长 ABSERR=1.0E-6;%仿真绝对误差 REL ...

  3. 【matlab】【Datcom】气动解算软件win10报错解决办法及运行交互示例

    版本说明 免费版本仍然可用.尚未使用Datcom + Pro版本的功能进行更新.没有大量的工作,我无法生成新的分发程序包,并且我现在对此不感兴趣.建议您观看教程视频,以了解使用新的Datcom + P ...

  4. MATLAB 数学应用 微分方程 时滞微分方程

    时滞微分方程包含的项的值依赖于先前时间的解.时滞可以固定不变.与时间相关或与状态相关,而求解器函数(dde23.ddesd 或 ddensd)的选择取决于方程中的时滞类型.通常,时滞将导数的当前值与某 ...

  5. 四元数解算姿态角解析

    本文来自:链接 一.概述 无人机求解姿态角有多种算法,但由于各种算法的自身限制及计算机计算速度的限制,所以我们需要选择一个较佳的求解算法,下面我们先来看看几种求解姿态角的算法: 1. 欧拉角法: 欧拉 ...

  6. 关于无人机四元数解算姿态角解析你知道吗?

    原文链接http://www.elecfans.com/d/705815.html 一.概述 无人机求解姿态角有多种算法,但由于各种算法的自身限制及计算机计算速度的限制,所以我们需要选择一个较佳的求解 ...

  7. MPU6050介绍及姿态解算

    1.介绍:MPU6050 是 InvenSense 公司推出的全球首款整合性 6 轴运动处理组件,相较于多组件方案,免除了组合陀螺仪与加速器时之轴间差的问题,减少了安装空间. (1)绕X轴旋转角度为r ...

  8. MATLAB 数学应用 微分方程 时滞微分方程 dde23

    dde23:求解带有固定时滞的时滞微分方程 (DDE). 语法 sol = dde23(ddefun,lags,history,tspan) sol = dde23(ddefun,lags,histo ...

  9. MATLAB 数学应用 微分方程 时滞微分方程 具有常时滞的DDE

    本文讲述了如何使用 dde23 对具有常时滞的DDE(时滞微分方程)方程组求解. 方程组为: y 1 ′ ( t ) = y 1 ( t − 1 ) y'_1(t)=y_1(t−1) y1′​(t)= ...

最新文章

  1. 如何修改linux时间? 校正linux系统的时间
  2. java jar包的路径
  3. springmvc+mybatis+html 下将查询数据以excell形式上传到ftp(下)
  4. AIX系统日志学习笔记之三
  5. access mysql 同步_使ACCESS数据库保持同步
  6. 【收藏】哪些比较好的在线编程网站?
  7. java 超构造函数_java中的超级构造函数
  8. 95-190-730-源码-WindowFunction-窗口操作符侧的窗口函数(内部函数)
  9. 卸载loadrunner
  10. Android基础控件TextClock和Chronometer的使用
  11. 解决linux 运行自动化脚本浏览器无法启动问题
  12. sql 两表关联查询
  13. CSP-S 2021
  14. 系统调用【简单总结】
  15. 添加SearchView控件时飘红的问题
  16. 当个运营都难,二本生在如今的就业市场真的没出路了吗?
  17. 构建docker镜像时ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.12/main: network error
  18. 入手评测 ROG 冰刃 5 Plus怎么样
  19. iTunes只能装C盘吗_iphone备份太大,严重挤占C盘空间,怎么把备份放在其他的硬盘?...
  20. zabbix4.0利用API导入导出dashboard

热门文章

  1. 面向对象___str__和__repr__
  2. 3DUnity(记录碰到的小问题) 2D模式下调整Sorting Layer后物体变成黑色
  3. 免拆诊断案例 | 2008 年 Honda Civic失火检测
  4. 五菱4s店维修记录怎么查?
  5. 数据分析 时间序列分析 时间序列的预处理
  6. RVO实战系列:RVO动态避障技术方案介绍
  7. 对Java平台的理解
  8. 怎么给README.md添加图片(两种方法,图文教程)?
  9. docker 自启动总是 Exited
  10. 【面试题】谈谈你对vite的了解