Simulink.Parameter
存储、共享和配置参数值
说明
创建 Simulink.Parameter
对象以设置模型中的一个或多个模块参数(例如 Gain 模块的增益参数)的值。您在工作区或数据字典中创建对象。在对象中设置参数值,然后从模块中引用对象。
使用 Simulink.Parameter
对象可以:
在多个模块参数之间共享一个值。
表示工程常量或可调标定参数。
将参数值与其数据类型和其他属性分离。
配置用于代码生成的参数数据。
对象的 Value
属性存储参数值。要在模型中使用对象,请将模块参数的值设置为包含对象名称的表达式。从表达式中省略 Value
属性。有关详细信息,请参阅使用参数对象。
有关模块参数的详细信息,请参阅设置模块参数值和生成的代码如何存储内部信号、状态和参数数据 (Simulink Coder)。
创建对象
通过以下方式创建 Simulink.Parameter
对象:
直接从模块对话框或属性检查器创建。请参阅创建、编辑和管理工作区变量。
使用模型数据编辑器创建。检查参数选项卡。右键点击包含变量的行,并从上下文菜单中选择转换为参数对象。
使用模型资源管理器创建。请参阅从内置数据类包 Simulink 创建数据对象。
使用
Simulink.Parameter
函数创建,如下所述。
描述
paramObj = Simulink.Parameter
返回具有默认属性值的 Simulink.Parameter
对象。
paramObj = Simulink.Parameter(
返回 paramValue
)Simulink.Parameter
对象,并将 Value
属性初始化为 paramValue
。
属性
示例
使用参数对象设置增益参数的值
在命令提示符下,创建一个
Simulink.Parameter
对象。myParam = Simulink.Parameter;
为
Value
属性指定一个数值。myParam.Value = 15.23;
使用
Min
和Max
属性指定参数可采用的最小值和最大值。myParam.Min = 10.11; myParam.Max = 25.27;
打开一个新的 Simulink 模型。添加 Gain 模块,并将其增益参数设置为
myParam
。在仿真期间,增益参数使用值15.23
。
更改参数对象存储的值
在命令提示符下,创建一个存储值
2.52
的Simulink.Parameter
对象。myParam = Simulink.Parameter(2.52);
通过访问该对象的
Value
属性来更改值。这种方法会保留该对象的其他属性的值。myParam.Value = 1.13;
创建具有特定数值数据类型的参数对象
为减少模型维护,可以将 DataType
属性保留为默认值 auto
。参数对象从使用该对象的模块参数中获得数据类型。
为降低在您更改模型中的信号数据类型和其他数据类型时数据类型发生变化的风险,可以为参数对象显式指定数据类型。例如,在生成将参数数据导出到自定义代码的代码时,为对象显式指定一个数据类型。
在 MATLAB 命令提示符下,创建一个存储值
18.25
的Simulink.Parameter
对象。myParam = Simulink.Parameter(18.25);
表达式
18.25
以双精度浮点数据类型double
返回数值18.25
。Value
属性以双精度存储数值18.25
。使用
DataType
属性指定单精度数据类型single
。myParam.DataType = 'single';
当仿真或生成代码时,对象会将
Value
属性的值18.25
转换为DataType
属性指定的数据类型single
。
将参数值设置为数学表达式
此示例说明如何将参数对象 myParam
的值设置为其他两个变量(myVar
和 myOtherVar
)之和。使用这种方法,当您更改自变量的值时,Simulink 会立即计算参数对象的新值。
创建两个自变量。
myVar = 5.2; myOtherVar = 9.8;
创建参数对象。
myParam = Simulink.Parameter;
将参数对象的值设置为表达式
myVar + myOtherVar
。myParam.Value = slexpr('myVar + myOtherVar')
当您仿真或生成代码时,表达式的计算结果为
15
。
版本历史记录
另请参阅
Simulink.Signal
| Simulink.CoderInfo
| AUTOSAR.Parameter
(AUTOSAR Blockset) | Simulink.LookupTable
| Simulink.Breakpoint
| Simulink.AliasType