主要内容

万博1manbetx仿真软件。参数

存储、共享和配置参数值

描述

创建一个万博1manbetx仿真软件。参数对象来设置模型中一个或多个块参数的值,例如获得a的参数获得块。可以在工作区或数据字典中创建对象。在对象中设置参数值,然后从块中引用对象。

使用一个万博1manbetx仿真软件。参数对象:

  • 在多个块参数之间共享一个值。

  • 表示一个工程常数或可调的校准参数。

  • 将参数值与其数据类型和其他属性分开。

  • 为代码生成配置参数数据。

价值属性存储参数值。要在模型中使用对象,请将块参数的值设置为包含对象名称的表达式。省略了价值属性。有关更多信息,请参见使用参数对象

有关块参数的详细信息,请参见设置块参数值而且生成的代码如何存储内部信号,状态和参数数据(万博1manbetx仿真软件编码器)

创建

创建一个万博1manbetx仿真软件。参数对象:

描述

paramObj = 万博1manbetxSimulink。参数返回一个万博1manbetx仿真软件。参数具有默认属性值的对象。

paramObj = 万博1manbetxSimulink。参数(paramValue返回一个万博1manbetx仿真软件。参数对象初始化价值财产paramValue

属性

全部展开

属性属性对话框中的属性信息万博1manbetx仿真软件。参数对象,看到万博1manbetx仿真软件。参数Property Dialog Box

为参数对象生成代码的规范,返回为万博1manbetx仿真软件。CoderInfo对象。

此属性为只读。属性的属性万博1manbetx仿真软件。CoderInfo此属性包含的对象。

例如,StorageClass的属性万博1manbetx仿真软件。CoderInfo对象决定了Simulink万博1manbetx®代码生成工具箱为生成的代码中的参数对象分配内存。有关更多信息,请参见模型界面元素的C代码生成配置(万博1manbetx仿真软件编码器)而且选择在生成的代码中控制数据表示的存储类(嵌入式编码)

参数值的数值复杂度,返回为“真实”的(如果值为实)或“复杂”(如果该值是复杂的)。万博1manbetx类中指定的参数值确定复杂度价值财产。此属性为只读。

数据类型:字符

参数值的数据类型价值属性,指定为“汽车”或者一个字符向量。在模拟模型或生成代码时,Simulink将值强制转换为指定的数据类型。万博1manbetx

如果你指定“汽车”,则参数对象使用与使用该对象的块参数相同的数据类型。看到使用数据类型继承减少维护工作

当你设置价值属性,对象通常设置数据类型属性的值价值财产。例如,当你设置价值财产int8 (5)的值数据类型财产“int8”

要显式指定内置数据类型(请参阅Simulink支持的万博1manbetx数据类型万博1manbetx),指定下列选项之一:

  • “双”

  • “单一”

  • “一半”

  • “int8”

  • “uint8”

  • “int16”

  • “uint16”

  • “int32”

  • “uint32”

  • “int64”

  • “uint64”

  • “布尔”

要指定定点数据类型,请使用fixdt函数。例如,指定“fixdt(5) 1, 16日”

如果你使用万博1manbetx仿真软件。AliasType万博1manbetx仿真软件。NumericType对象以在模型中创建和共享自定义数据类型,请指定对象的名称。

若要指定枚举数据类型,请在类型名称前面使用枚举:.例如,指定“枚举:myEnumType”

类中存储结构或结构数组时价值属性时,对象将设置数据类型财产“结构”.要指定万博1manbetx仿真软件。公共汽车对象作为数据类型时,使用总线对象名称前面的总线:.例如,指定“巴士:myBusObject”

例子:“汽车”

例子:“int8”

例子:“fixdt(5) 1, 16日”

例子:“myAliasTypeObject”

例子:“枚举:myEnumType”

例子:“巴士:myBusObject”

数据类型:字符

参数对象的自定义描述,指定为字符向量。使用此属性记录参数对象在算法中的重要性。

如果你有嵌入式编码器®许可证,您可以配置此描述,使其作为注释出现在生成的代码中。看到万博1manbetxSimulink数据对象描述(嵌入式编码)

例子:这个参数表示引擎的最大转速

数据类型:字符

属性中存储的值的维度价值属性,该属性返回为行向量或指定为字符向量。

当你设置价值属性的值时,该对象设置属性。行向量。这个向量就是大小函数返回。

如果将对象配置为模型参数,并且打算在父模型引用层次结构的其他位置为对象提供值,则可以将价值属性为空(设置为'[]’)并设置而且数据类型显式属性。看到参数化可重用引用模型的实例.要恢复属性派生的值价值属性,设置[]”。

若要使用符号维数,请指定字符向量。看到在生成的代码中实现数组大小的维度变量(嵌入式编码)

例子:3 [1]

例子:“[1 myDimParam]”

数据类型:|字符

的最大值价值属性可以存储的对象,指定为实数标量。

默认值为空,即参数值没有最大值。

如果将复数存储在价值财产,马克斯属性分别适用于实部和虚部。

类中存储结构价值属性时,对象将忽略马克斯财产。相反,使用万博1manbetx仿真软件。公共汽车对象作为参数对象的数据类型,并通过使用总线对象的元素为每个字段指定最大值。看到通过创建参数对象控制字段数据类型和特征

如果价值大于最大值或最大值超出对象数据类型范围时,Simulink将生成警告。万博1manbetx当更新图表或启动模拟时,Simulink将生成一个错误。万博1manbetx

有关Simulink如何使用此属性的更多信息,请参见万博1manbetx指定块参数的最小值和最大值

例子:5.32

数据类型:

的最小值价值属性可以存储的对象,指定为实数标量。

默认值为空,即参数值没有最小值。

如果将复数存储在价值财产,最小值属性分别适用于实部和虚部。

类中存储结构价值属性时,对象将忽略最小值财产。相反,使用万博1manbetx仿真软件。公共汽车对象作为参数对象的数据类型,并使用总线对象的元素为每个字段指定最小值。看到通过创建参数对象控制字段数据类型和特征

如果价值小于最小值或如果最小值超出对象数据类型的范围,则Simulink将生成警告。万博1manbetx当更新图表或启动模拟时,Simulink将生成一个错误。万博1manbetx

有关Simulink如何使用此属性的更多信息,请参见万博1manbetx指定块参数的最小值和最大值

例子:-0.92

数据类型:

参数值的物理单位,指定为描述有效单位的字符向量。有关更多信息,请参见Simulink模型中的单元规范万博1manbetx

例子:“摄氏度”

数据类型:字符

在块参数中使用的值,指定为以下有效值之一:

如果你使用万博1manbetx仿真软件。参数对象来设置可重用引用模型中的块参数值,您可以将该模型编译并模拟为引用模型,其中对象的值为空(价值设置为'[]’),只要你在父模型引用层次结构中提供一个显式的值。在这种情况下,您不能直接模拟模型。值为空时,必须提供数据类型而且对于对象。虽然您指定了一个空值,但Simulink仍然合成万博1manbetx价值通过使用其中一个:

  • 马克斯

  • 最小值,如果你没有指定马克斯

  • 1,如果你没有指定最小值马克斯

看到参数化可重用引用模型的实例

你也可以用MATLAB®语法来指定值。

示例表达式 描述
15.23

指定标量值

(3 4;9 8]

指定一个矩阵

3 + 2我

指定一个复杂值

结构体(B ' A ', 20日,5)

指定具有两个字段的结构,一个而且B,具有双精度值20.而且5

将块参数组织成结构(参见在结构中组织相关块参数定义)或初始化总线中的信号元素(参见指定总线元素的初始条件).

slexpr('myVar + myOtherVar') 指定表达式myVar + myOtherVar在哪里myvar#而且myOtherVar为其他MATLAB变量或参数对象。万博1manbetxSimulink保留了对象和变量之间的这种数学关系。

使用万博1manbetx仿真软件。参数对象来存储特定数值数据类型的值,请使用价值属性控件的类型数据类型财产。

如果你设置价值属性,使用类型化表达式单(32.5),数据类型属性更改以反映新类型。最佳实践是使用没有类型的表达式,以避免通过重复量化或数据类型饱和而积累数值错误,特别是对于定点数据类型。

例子:3.15

例子:1.2 + 3.2i

例子:真正的

例子:myEnumType.myEnumValue

例子:结构(“field2”“field1”,15日,7.32)

例子:slexpr('myVar + myOtherVar')

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|结构体|fi|枚举
复数支持:万博1manbetx是的

例子

使用参数对象设置的值获得参数

  1. 在命令提示符下,创建一个万博1manbetx仿真软件。参数对象。

    myParam = 万博1manbetxSimulink.Parameter;

  2. 属性的数值价值财产。

    myParam。价值= 15.23;

  3. 方法可以指定参数的最小值和最大值最小值而且马克斯属性。

    myParam。最小值= 10.11; myParam.Max = 25.27;

  4. 打开一个新的Simul万博1manbetxink模型。添加一个获得块,并设置其获得参数myParam.模拟过程中,获得参数使用值15.23

更改参数对象存储的值

  1. 在命令提示符下,创建一个万博1manbetx仿真软件。参数对象,用于存储该值2.52

    myParam = 万博1manbetxSimulink.Parameter(2.52);

  2. 方法更改该值价值对象的属性。这种技术保留了对象的其他属性的值。

    myParam。价值= 1.13;

创建具有特定数值数据类型的参数对象

为了减少模型的维护,你可以离开数据类型属性的默认值,汽车.参数对象从使用该对象的块参数获取数据类型。

当您对模型中的信号数据类型和其他数据类型进行更改时,为了降低数据类型更改的风险,您可以显式地为参数对象指定数据类型。例如,当生成将参数数据导出到自定义代码的代码时,请显式地为对象指定数据类型。

  1. 在MATLAB命令提示符下,创建一个万博1manbetx仿真软件。参数对象,用于存储该值18.25

    myParam = 万博1manbetxSimulink.Parameter(18.25);

    表达式18.25返回数字18.25使用双精度浮点数据类型.的价值属性存储数字18.25具有双重精度。

  2. 使用数据类型属性指定单精度数据类型

    myParam。数据类型=“单一”

    类的值进行强制转换,以模拟或生成代码价值财产,18.25属性指定的数据类型数据类型财产,

“参数值”设置为“数学表达式”

这个例子展示了如何设置一个参数对象的值,myParam,到另外两个变量的和,myvar#而且myOtherVar.使用这种技术,当您更改自变量的值时,Simulink立即计算参数对象的新值。万博1manbetx

  1. 创建两个自变量。

    myVar = 5.2;myOtherVar = 9.8;

  2. 创建参数对象。

    myParam = 万博1manbetxSimulink.Parameter;

  3. 将参数对象的值设置为表达式myVar + myOtherVar

    myParam。价值= slexpr(myVar + myOtherVar

    模拟或生成代码时,表达式的计算结果为15

R2006a之前介绍