专栏
标签

定步长与变步长仿真出现差异
一般问题

发布于 2026-08-14 16:22:10
查看 7过去4天

在对模型进行仿真的时候,先是用变步长进行了仿真,里面是数据都能正常的跑出来。而用定步长进行仿真后,数据基本可以忽略不计,仿真动画中的模型也可以说是没动。这是为什么呢?耦合模型在Excavator(挖掘机耦合模型)处

所属专栏:Sysplorer基础平台
产品信息:Sysplorer系统建模仿真环境
系统建模
附件 1 个附件(198825kb)

全部回答 1

发布于 2026-08-17 09:07:57

您好,变步长正常、定步长几乎无输出,常见原因是:定步长积分步长设置过大,导致模型中的事件或快速动态没有被准确捕获。

在 Sysplorer 中:

变步长算法(如 Dassl)会根据精度自动调整步长,并且能精确检测事件,事件发生时重启积分器,因此能比较准确地反映模型动态。
定步长算法(如 Euler)严格按固定步长推进,不能自动缩小步长,也无法精确处理事件。当前积分步内发生的事件会被延迟到步长点处理,甚至可能被漏掉,从而产生误差。如果步长过大,模型的变化发生在两个积分步之间,就可能出现输出数据很小、模型看起来“没动”的结果。

您可以尝试缩小定步长算法的步长,修改不同算法来尝试,如下图所示

用户
和原帖交流更多问题细节吧,去
我要发帖 我要发帖
资料中心 资料中心
查看更多>
热门帖子 热门帖子
主要贡献者 主要贡献者
过去7天