使用可变参数重用具有不同值的块参数
您可能有一组需求,其中模型的结构保持不变,但是每个需求的参数值是不同的。在此场景中,您可以创建具有固定结构的单个模型,并使用有限的值集创建参数,其中每个值对应不同的需求。有多个值的参数被调用变异参数.可变参数可以在MATLAB中定义®基本工作区或数据字典。
变量参数的每个值必须与变量条件表达式相关联。如果没有两个值属于同一个参数,则可以有多个变量参数与一个变量条件相关联。当条件表达式求值为时真正的
时,所有与该条件相关的值都变成活动的,并分配给相应的参数。如果更改变量控制变量的值,则会为参数分配一组不同的值。通过这种方式,可变参数允许您在逻辑上将跨不同参数的一组值绑定到条件表达式,并且根据计算为的可变条件将值分配给参数真正的
.
金宝app®在更新图时间、代码编译时间或模型启动时间期间,选择变量参数的活动值。有关更多信息,请参见在模拟和代码生成工作流的不同阶段激活变量.
考虑这个模型。的获得参数。获得Block是一个变量参数,其值设置为K.的变量K有两个值:3.5
而且8.5
.金宝appSimulink选择的活动值K根据变量的值控制变量V.如果V = = 1
计算结果为真正的
的值。K设置为3.5
.如果V = = 2
计算结果为真正的
的值。K设置为8.5
.
何时创建可变参数
可变参数提供了一种方法,可以为许多块参数值不同的系统设计一个模型。您可以根据系统对不同的值集进行分组来进行模拟。每一组值都与一个可变的条件表达式相关联。在模拟过程中,如果变量条件计算为真正的
,那么与该条件相关的所有值都将变为活动。若要更改活动值集,请更改变量控制变量的值并再次运行模拟。
考虑这个模型,它表示具有几种配置的汽车系统。这些配置虽然在某些方面相似,但在油耗、发动机尺寸或发动机气缸数量等方面可能有所不同。您可以使用不同的参数来为不同的值建模,而不是设计多个一起表示所有可能值的块。
在该模型中,油耗、发动机尺寸和气缸数具有不同的参数足球俱乐部
,西文
,数控
.可变参数的值基于可变控制变量的值V
.例如,如果V = = 1
计算结果为真正的
的值足球俱乐部
设置为30.
,西文
设置为1000
,数控
设置为4
.
使用可变参数的优点
在基于模型的设计中使用可变参数有几个优点:
可变参数为您提供了一种为多个系统设计一个模型的方法。
可变参数有利于块的重用。这种方法通过降低复杂性来提高工作流程的速度。
可变参数帮助您在多个模拟、代码生成或测试工作流的不同块参数值之间切换。
您不需要为变量参数的不同值重新生成代码,因为生成的代码对参数的每个变量值都有预处理器条件。
使用可变参数的局限性
在基于模型的设计中使用可变参数也有局限性:
确定变量参数的活动值的变量控制变量的值必须为数值、枚举值或
金宝app仿真软件。参数
对象。只有变量参数的值会根据计算为的变量条件而改变
真正的
.其他属性,如存储类、数据类型等,与变化的条件无关,保持不变。可变参数只能在基本工作空间或数据字典中定义。
变量参数不支持为AUTOSAR目标生成代码。金宝app
另请参阅
创建一个简单的变量参数模型|在生成的代码中表示变量参数的选项(嵌入式编码)