人在仿真软件金宝app

金宝app仿真软件和基于模型的设计

我怎么得到一个代数循环错误,诊断时将警告?

我曾经遇到一个问题,仿真软件报道,“不能解决代数循环……”金宝app

代数循环错误,不能解决代数循环

代数循环可以通过模型来解决,但通常减缓仿真金宝app。出于这个原因,我们有代数循环诊断可以设置为错误,警告没有一个。特殊的关于这个模型是代数循环诊断成立吗警告,但模型将报告一个错误,而不是模拟!使事情更困难,我不得不使用模型的屏幕截图,而不是模型的自我。

代数循环是什么?

代数循环存在一个变量出现在双方的方程。例如,

y = y 2

代数循环通常发生在仿真软件有降低延迟,例如,传感器,提要通过一个信号从金宝app输入到输出。

读取错误消息

调试这类问题的第一步是阅读和理解错误消息。代数循环发生错误的原因各不相同。理解错误的原因我不得不了解的信息。

不能解决代数循环涉及的模型/…/传感器系统”,因为它包含块不能分配代数变量,即。,blocks with discrete-valued outputs, blocks with non-double or complex outputs, Stateflow blocks, or nonvirtual subsystems.

要做的这个消息,我们得知仿真软件不能解决代数循环,除非它可以分配一个代数变量。金宝app不能分配块代数变量中列出的错误。

  • Discrete-valued输出,如逻辑块(0或1)
  • 块non-double输出
  • 块输出复杂的值(3 + 2)
  • Stateflow块
  • Nonvirtual子系统

找出与模型的消息

接下来,我看着屏幕截图,看看我能找到这些块。这是大致相似的屏幕截图发送到技术支持:金宝app

模型与代数循环错误屏幕截图

我注意到的第一件事是所有类型uint8的信号。这些都是non-double类型,这可能是问题的一部分。我注意到的另一件事是沉重的线子系统。这意味着这些原子子系统。原子子系统nonvirtual,那些是在块的列表可能会导致这个问题。

可能的解决方案

因为这些都是原子子系统,我建议启用最小化代数循环出现优化。

最小化代数循环出现

子系统可以被认为一个函数的输入和状态

输出= f(输入、状态)

在一些系统中,输出信号的计算不直接依赖于输入。如果这是真的,你可以分开成两个方程组。

州= g(输入)

输出= h(州)

这个选项也可以通过配置参数模型参考块的模型引用条目。

这是怎么发生的?

这个模型是集成来自许多不同的组件团队的结果。原始模型包含虚拟子系统,用于升级和新组件模型原子子系统。切换回虚拟可能解决这个错误。

代数循环诊断没有控制这个错误,因为这是检查最小溶解度要求这种类型的问题。

现在轮到你了

有额外的信息技术支持解决方案金宝搏官方网站金宝app理解代数循环,仿真软件是如何解决金宝app这些问题呢。你遇到这个错误吗?你怎么解决它?留下一个这里的评论关于你的经历。

|
  • 打印
  • 发送电子邮件

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。