如何使用升压运算处理过去的时间偏移
How to handle time offset in the past with boost odeint?
我有一个谐波振荡器,其耦合中的延迟tau。
dx/dt = -y(t - tau)
dy/dt = x(t - tau)
我如何在 odeint 中对其进行编码?
我是否必须保存计算状态并在时间 t-tau 插值 x 和 y 的值?这行得通吗?我必须使用特殊的步进器还是使用固定步进?
啊,这是一个延迟微分方程(DDE)。最近,有一个类似的问题,一个SO [1]。Odeint 不直接支持 DDE。但是您可以使用到目前为止描述的技术:保存状态和/或插值。
另一种方法是将完整的离散化历史记录包含在状态中。
[1] 使用增压器的 DDE
相关文章:
- C++为构建时间获取QDateTime的可靠方法
- 从持续时间构造std::chrono::system_clock::time_point
- 向量 <int> a {N, 0} 和 int arr a[N] = {0} 的时间复杂度有什么区别
- while循环中while循环的时间复杂度是多少
- 使用简单类型列表实现的指数编译时间.为什么
- 是否可以在编译时初始化数组,以便在运行时不会花费时间?
- 在已经使用Git的情况下减少编译时间
- 有没有一种方法可以创建一个带有哈希表的数据库,该哈希表具有恒定时间查找功能
- 如何将包含epoch时间的十六进制字符串转换为time_t
- 从文本文件中读取时钟时间和事件时间并进行处理
- 具有未知值时的时间复杂性
- 如何减少花费的时间
- C++在变量给定的指定时间内关闭电脑
- rcpp函数中的清理时间很长
- C++:floor unix时间戳到UTC月份
- 延迟函数使打开的框架窗口冻结,直到指定的时间过去
- sleep_until过去的时间点
- 如何使用升压运算处理过去的时间偏移
- 可以在将来调用system_clock::now()来给出过去的时间
- 当' sleep_until() '指定过去的时间点时,其行为定义良好