使用MATLAB枚举类创建变量控件
Simulink®模型中的每个变量选择都与一个称为a的条件表达式相关联版本控制.求值为true的变量控制决定了模型中主动变量的选择。这个例子展示了如何在变量条件表达式中使用MATLAB®枚举在模型中创建变量控件。在代码生成中,枚举类型提高了可读性,因为条件值表示为有意义的名称,而不是文字值。
探索模型
打开模型slexVariantSetupUsingIntEnums
.它包含两种不同的选择,线性控制器
而且非线性控制器
.变量汇聚和变量源块用于实现变量区域。
在MATLAB®文件中指定枚举类
您可以通过向类定义中添加枚举块并将其保存到MATLAB文件中来创建枚举类。在本例中,枚举ControllerChoice
(保存在ControllerChoice.m
)派生自内置的数值类型int32
.它定义了两个枚举成员,线性
而且非线性
.
classdefControllerChoice < int32枚举线性(0),非线性(1),结束下面的所有方法都可以选择性地用于配置。%生成代码中的枚举方法(静态= true)%%枚举的描述函数retVal = . getDescription(“控制器…”;结束%%枚举的默认值函数retVal = getdefault ()结束指定生成的代码是否导入/导出定义变量控制表达式中使用的枚举的%%函数retVal = . getDataScope(“出口”;结束的定义中导入/导出头文件生成的代码中的%%枚举函数retVal = . getHeaderFile(“Controller.h”;结束结束结束
创建一个变量控制变量
这个例子使用了MATLAB变量V
作为变量控制变量来存储当前活动的变量选择。
在MATLAB命令窗口中,输入:
V = ControllerChoice.Linear;
构建变量条件表达式
您可以从变体管理器中设置变体控件。要打开变体管理器,右键单击变体接收器或变体源块上的变体徽章并选择在变体管理器中打开.
您可以看到如何使用枚举成员和控制变量来创建条件表达式V = = ControllerChoice。线性
而且V = = ControllerChoice。非线性
.所有支持的Simulink枚举都可以用来构建条件表达式。有关Simulink中枚举的信息,请参见仿真软件枚举.