【问题标题】:Is it possible to have slight differences when running the same Simulink simulation twice?两次运行相同的 Simulink 仿真时是否可能存在细微差异?
【发布时间】:2016-05-19 11:57:30
【问题描述】:

假设您有一个 Simulink 仿真。您运行它两次并及时考虑某个信号的图。两个信号之间是否可能存在细微差别?

一个可能的原因可能是可变步长求解器。

【问题讨论】:

  • 极不可能。求解器是确定性的,并且随机数生成器被重置为相同的种子,因此每次运行模型时都应该期望得到相同的结果。如果您看到差异,那么它一定是模型中发生的事情。
  • 我记得我曾经更改过一个没有在 Simulink 仿真中使用的变量的值,但它似乎对仿真结果产生了轻微的影响。

标签: simulation simulink numeric solver


【解决方案1】:

假设所有模拟参数在运行之间都是相同的,如果你的模拟很复杂,并且使用自定义块,那么如果初始化代码中存在错误,这样的事情是可能的。

例如,使用 S-Function,您可以选择是否以及如何在模拟运行之间重置内部状态。使用 C 代码,很容易忘记完全重置某些内容,并最终得到一些包含垃圾的未初始化变量。

另一种可能性是从模拟中将某些内容写入工作区,并在下次初始化时反馈到模拟中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-06
    • 1970-01-01
    • 2016-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-07
    • 1970-01-01
    相关资源
    最近更新 更多