Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
我想了解Simulink仿真引擎的工作原理。是否使用离散事件模拟机制(然后如何处理连续时间?)?它是否依赖基于静态周期的代码生成?要么 ?
回答: 在第一个周期之前,它将弄清楚块的执行顺序(从不需要其他任何块输入的块开始) 在每个循环中,它根据输入和块的代码计算每个块的输出。每个块的代码都是静态的,在将模型放在一起之前,大多数代码已经存在。 (我不知道块选项实际上是否会更改代码,或者是否仅在运行时每次迭代时对它们进行评估。) 如果模拟步骤是可变的,则每个循环主要根据模型变量的变化速度来计算下一步的大小。它们变化得越快,步长应该越小,因此,假定短暂的高导数持续时间不应该长得多。 (我不知道此计算的详细信息,也许其他人可以了解一下吗?)因此,“连续”仿真或可变步长仅意味着Simulink将在每个周期内进行合理的猜测,以了解步长足够小将时间量化误差保持在可接受的水平。在完全数字化的硬件(例如计算机的处理器)上,真正进行连续的仿真实际上是不可能的。 更多&回答... |
![]() |
![]() |