人在仿真软件金宝app

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

的if - else构造模型

巴拉Kalluri在评论里问了一个问题篇关于MUX块。巴拉吉问道:

嗨,所有
我将非常感激,如果有人可以给我一个路线模型典型的2比1多路复用器,我们阅读和理解它的方式。我想翻译行为的典型数字两倍Mux这样的作品到仿真软件模型。金宝app

如果(sel = = 0)
=三机一体;
elseif (sel = = 1)
= in2;

今天我想看看一个方法来解决这个问题。

通过控制哪些信号(开关)

考虑这个问题的一种方法是控制信号会通过系统。开关部件提供了一种通过一个信号或另一个基于控制信号的价值。

模型的条件通过使用一个开关。

这将创建一个如果表达式:当条件语句是正确的,是集等于第一个尺寸,否则,设置等于第三个尺寸。

优化模型

这是所需的逻辑,但有另一种思考这个问题。考虑这两个三机一体in2是一些其他昂贵的计算的结果。在这种情况下,您将需要执行的只有一个输出所需的计算表达式而不是总计算两个值,然后丢弃不需要的那一个。

幸运的是,这是一种常见的模式和模型提供了一个优化来提高效率。金宝app默认情况下,有条件的输入分支执行(配置参数- >优化页面)。

从仿真软件配置参数条件输入分支执行优化。金宝app

这种优化允许模型上游块分组和塔克成开关的条件语句块金宝app。你可以理解的行为,如果你打开块顺序显示,但我更喜欢看像这样的简单模型的代码。

生成的代码比较有和没有条件输入分支执行优化。

这种优化并不仅仅局限于开关块。其他块生产条件表达式可以包含上游和下游的代码块。

我想结束这种讨论与两个重要的笔记。

  1. 我由这个例子具体说明这种优化的效果。因为它是如此简单,我不得不禁用表达式折叠,否则代码是一样的,无论它是什么。我不鼓励任何人禁用表达式折叠无正当理由。
  2. 因为这是一个优化,你不能保证这种行为。如果您添加一样简单的东西测试点获得与交换机之间的块这将禁用优化。

还有其他的方法模型有效条件行为和明确保护算法的执行。我将离开这个话题的未来。

现在轮到你了

你认为你的模型的效率呢?你如何使用开关组吗?留下一个这里的评论并分享你所知道的。

|

댓글

댓글을남기려면링크를클릭하여MathWorks계정에로그인하거나계정을새로만드십시오。