目录
创建对象
语法
说明
示例
使用参数对象设置 Gain 参数的值
更改参数对象存储的值
创建具有特定数值数据类型的参数对象
将参数值设置为数学表达式
创建 Simulink.Parameter 对象以设置模型中的一个或多个模块参数(例如 Gain 模块的Gain参数)的值。在工作区或数据字典中创建对象。在对象中设置参数值,然后从模块中引用对象。
使用 Simulink.Parameter 对象可以:
在多个模块参数之间共享一个值。
表示工程常量或可调标定参数。
将参数值与其数据类型和其他属性分离。
配置用于代码生成的参数数据。
对象的 Value 属性存储参数值。要在模型中使用对象,请将模块参数的值设置为包含对象名称的表达式。从表达式中省略Value属性。具体可以参考使用参数对象。模块参数的详细信息,参考设置模块参数值和生成的代码如何存储内部信号、状态和参数数据(Simulink Coder)。
通过以下方式创建 Simulink.Parameter 对象:
直接从模块对话框或 Property Inspector 创建。参考创建、编辑和管理工作区变量。
使用 Model Data Editor 创建。检查 Parameters 选项卡。右键点击包含变量的行,并从上下文菜单中选择 Convert to parameter object。
使用 Model Explorer 创建。参考从内置数据类包Simulink创建数据对象。
使用 Simulink.Parameter函数创建,如下所述。
paramObj = Simulink.Parameter
paramObj = Simulink.Parameter(paramValue)
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 模块,并将其 Gain 参数设置为 myParam
。在仿真期间,Gain 参数使用值 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
。