变体:在R2018b中有哪些选项?
我发布了变体在过去,从那时起,事情发生了很大的变化,所以我认为审查R2018B中的变体的选项是个好主意。
不同的子系统
如果您不熟悉变体的概念,我建议使用文档页面开始什么是变体和何时使用它们.简而言之,变体的概念允许您拥有模型中存在但有条件编译的块和子系统。
对于变体子系统,它可以包含一组变体实现,并且只有其中一个可以一次激活。这是一种概述了变体子系统的图像。
变体水槽和源
变体源和下沉块是具有多个输入和一个输出(源)或一个输入和多个输出(接收器)的块。根据我稍后讨论的不同条件,只有一个端口处于活动状态,并且在模型编译期间不包括连接到其他端口的块。
在下面的示例中,第一个输入是活动的。正弦波,“原罪”和平方根是不活跃的和灰色的,因为他们不需要。
现在,让我们看看可用于控制哪种变体是活动的选项。
使用标签模式控制变量
以前命名为“覆盖变体条件“, 这标签模式主要是针对希望交互方式指定活动变量的用户。
打开变量的块参数对话框(子系统,源或宿 - 它们都有相同的工作)时,可以使用以下步骤配置Variant:
一旦配置了块,你可以通过右键单击块上显示的变量徽章来更改活动变量:
如果你更喜欢,也可以用set_param.以编程方式更改活动变量。
使用表达式控制变体
使用Expression模式,为每个变体指定表达式。此表达式必须是一个有效的MATLAB表达式,可评估为TRUE或FALSE。
代码生成
当变量由表达式控制时,您就有了与代码生成相关的附加功能。最重要的是生成预处理器条件.
在下一张图片中,我指定了“a==1”和“a==2”作为变量源和Sink块中的条件,我定义了“a”作为Simulink。万博1manbetx参数对象。在生成代码时,这两个条件都是存在的,并受到预处理条件的保护。这允许您只生成一次代码,然后构建不同的配置。
手动变体水槽和源
这些块的使用非常简单:双击块以切换哪个分支处于活动状态。
在模型编译期间,将仅编译连接到活动分支的块。
现在轮到你了
请让我们知道您对这些选项的看法,以及您如何控制模型中的变体。
评论
要发表评论,请点击在这里登录您的MathWorks帐户或创建新的。