Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

Simulink.Variant 类

包: Simulink

指定控制变体选择的条件

说明

Simulink.Variant 类的对象,表示名为变体控制项的条件表达式。该对象允许您指定一个布尔表达式,该表达式在计算结果为 true 时会激活特定变体选择。

变体控制项包含一个或多个变体控制项变量,使用 MATLAB® 变量或 Simulink.Parameter 对象指定。

您为 Variant SubsystemModel Variant 模块中表示的每个变体选择指定变体控制项。对于给定的 Variant SubsystemModel Variant 模块,一次只能有一个变体控制项的计算结果为 true。当变体控制项的计算结果为 true 时,Simulink® 会激活对应于该变体控制项的变体选择。

构造

variantControl = Simulink.Variant(conditionExpression) 创建变体控制项。

属性

全部展开

变体条件表达式,指定为包含一个或多个操作数和运算符的字符向量。

操作数

  • 解析为 MATLAB 变量或 Simulink.Parameter 对象的变量名称,其中含有整数或枚举数据类型以及标量字面值

  • 解析为 Simulink.Variant 对象的变量名称

  • 表示整数或枚举值的标量字面值

运算符

  • 用于分组的括号

  • 算术、关系、逻辑或按位运算符

变体条件表达式的计算结果为布尔值。此属性具有读取和写入访问权限。

示例: '(Fuel==2 || Emission==1) && Ratio==2'

示例

使用 MATLAB 变量创建变体控制项

当您要对模型进行仿真但不考虑代码生成时,请使用 MATLAB 变量。

创建含有标量字面值的 MATLAB 变量。

Fuel = 3;
Emission = 1;
Ratio = 3;

使用变量构建条件表达式。

Variant1 = Simulink.Variant('Fuel==1 && Emission==2');
Variant2 = Simulink.Variant('(Fuel==2 || Emission==1) && Ratio==2');
Variant3 = Simulink.Variant('Fuel==3 || Ratio==4');

使用 Simulink.Parameter 对象创建变体控制项

对于代码生成,如果您要生成预处理器条件句,请使用 Simulink.Parameter 对象。

创建含有标量字面值的变体 Simulink.Parameter 对象。

Fuel = Simulink.Parameter(3);
Emission = Simulink.Parameter(1);
Ratio = Simulink.Parameter(3);

将这些对象的自定义存储类指定为 ImportedDefine,以便通过外部头文件指定值。

该自定义存储类的其他有效值为 DefineCompilerFlag

Fuel.CoderInfo.StorageClass = 'Custom';
Fuel.CoderInfo.CustomStorageClass = 'ImportedDefine';

Emission.CoderInfo.StorageClass = 'Custom';
Emission.CoderInfo.CustomStorageClass = 'ImportedDefine';

Ratio.CoderInfo.StorageClass = 'Custom';
Ratio.CoderInfo.CustomStorageClass = 'ImportedDefine';

使用变量构建条件表达式并创建变体控制项。

Variant1 = Simulink.Variant('Fuel==1 && Emission==2');
Variant2 = Simulink.Variant('(Fuel==2 || Emission==1) && Ratio==2');
Variant3 = Simulink.Variant('Fuel==3 || Ratio==4');