专栏
标签

半物理仿真接口工具箱的求解问题
一般问题

发布于 2026-07-28 02:49:22
查看 24过去2天

如题,该模型在MWorks中的仿真结果和使用HILexport工具导出为fmu/源代码之后的仿真结果差别较大。(3000s后,输出相对误差70%)这是为什么?是求解器问题吗?应该如何解决?

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

全部回答 2

发布于 2026-07-28 10:17:31

您好,请上传一下您的完整系统测试模型,我们在结合系统模型定位一下原因。

发布于 2026-07-28 17:41:02

您好,有可能是该仿真设置下结果不收敛,可以尝试调整积分步长和精度(步长变长一倍或者变短一倍)此时有两种结果:
①调整后结果一致,则证明仿真结果本身是收敛的,可信的,此时可能是缺陷,可尝试不同步长精度导出fmu,对比仿真。
②如果数值本身不收敛,则证明仿真设置本身不合理,仿真结果没有可信度,微小的数值变化在后续就会累计导致结果无意义,需要调整模型。

如果怎么设置都不行,可能是因为:模型不符合物理事实或选取的积分算法难以求解此模型(没有一个积分算法能解决所有的模型求解问题)。

备注:
①评估定步长的步长设置是否合适的一个标准方法:假设第一次设置的步长为 x,第二次设置 x / 2, … 第 n 次设置 x/2^{n - 1},如果出现连续两次设置的步长下仿真结果差异不大,则可认为上一步设置的步长是合适的。
②在前面调整步长和精度中,究竟要调整哪些由具体模型决定,显示定步长调精度意义不大(隐式定步长可能有用),但如果模型翻译报表中提示有非线性块,那么精度就有意义了,变步长则步长和精度都调整。

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