Main Content

Simulink.Parameter Property Dialog Box

Create a Simulink.Parameter object to set the value of one or more block parameters in a model, such as the Gain parameter of a Gain block. For examples and programmatic information, see Simulink.Parameter.

Value

Ideal real-world value that the object stores. Block parameters that refer to the object use the value that you specify.

You can also use MATLAB® syntax to specify the value.

Example ExpressionDescription
15.23

Specifies a scalar value

[3 4; 9 8]

Specifies a matrix

3+2i

Specifies a complex value

struct('A',20,'B',5)

Specifies a structure with two fields, A and B, with double-precision values 20 and 5.

Organize block parameters into structures (see Organize Related Block Parameter Definitions in Structures) or initialize the signal elements in a bus (see Specify Initial Conditions for Bus Elements).

=myVar + myOtherVarSpecifies the expression myVar + myOtherVar where myVar and myOtherVar are other MATLAB variables or parameter objects. Simulink® Coder™ preserves this mathematical relationship between the object and the variables.

To use a Simulink.Parameter object to store a value of a particular numeric data type, specify the ideal value with the Value property and control the type with the Data type property.

If you set the Value property by using a typed expression such as single(32.5), the Data type property changes to reflect the new type. A best practice is to use an expression that is not typed to avoid accumulating numerical error through repeated quantizations or data type saturation, especially for fixed-point data types.

When you specify an array with three or more dimensions, the Value property displays the array as an expression that contains a call to the reshape function. To edit the values in the array, modify the first argument of the reshape call, which contains all of the array values in a serialized vector. When you add or remove elements along a dimension, you must also correct the argument that represents the length of the modified dimension.

To more easily edit a large vector, 2-D matrix, or structure that you store in a Simulink.Parameter object, consider using the Variable Editor. See Manage and Edit Workspace Variables.

If you use a Simulink.Parameter object to set the block parameter value in a reusable referenced model, you can compile and simulate the model as a referenced model with the value for the object left empty (Value set to '[]') as long as you provide an explicit value somewhere in the parent model reference hierarchy. In this case, you cannot simulate the model directly. When the value is empty, you must provide the Data Type and Dimensions for the object. Although you have specified an empty value, Simulink still synthesizes a Value by using one of these:

  • Max.

  • Min, if you have not specified Max.

  • 1, if you have not specified either Min or Max.

See Parameterize Instances of a Reusable Referenced Model.

Data type

Data type of the parameter value in the Value property, specified as 'auto' or a character vector. When you simulate the model or generate code, Simulink casts the value to the specified data type.

If you select auto, the default setting, the parameter object uses the same data type as the block parameters that use the object. See Reduce Maintenance Effort with Data Type Inheritance.

When you set the Value property to something other than a double number, the object typically sets the Data type property based on the value of the Value property. For example, when you set the Value property to int8(5), the object sets the value of the Data type property to int8.

You can select a data type from the drop-down list or specify the name of a data type with text.

To explicitly specify a built-in data type (see Data Types Supported by Simulink), use one of these options:

  • double

  • single

  • half

  • int8

  • uint8

  • int16

  • uint16

  • int32

  • uint32

  • boolean

To specify a fixed-point data type, use the fixdt function. For example, specify fixdt(1,16,5).

If you use a Simulink.AliasType or Simulink.NumericType object to create and share custom data types in your model, specify the name of the object.

To specify an enumerated data type, use the name of the type preceded by Enum:. For example, specify Enum: myEnumType.

When you store a structure or array of structures in the Value property of the object, the object sets the Data type property to struct. To specify a Simulink.Bus object as the data type, use the name of the bus object preceded by Bus:. For example, specify Bus: myBusObject.

Click the Show data type assistant button to display the Data Type Assistant, which helps you set the Data type parameter. For more information, see Specify Data Types Using Data Type Assistant.

Dimensions

Dimensions of the parameter value.

When you set the Value property of the object, the object sets the value of the Dimensions property to a double row vector. The vector is the same vector that the size function returns.

If you are configuring the object as a model argument, and you intend to provide a value for the object elsewhere in the parent model reference hierarchy, you can leave the Value empty (set to '[]') and set the Dimensions and Data Type explicitly. See Parameterize Instances of a Reusable Referenced Model. To restore the Dimensions as a value derived from the Value, set Dimensions to '[]'.

To use symbolic dimensions, see Implement Dimension Variants for Array Sizes in Generated Code (Embedded Coder).

Complexity

Numeric complexity of the parameter value. Simulink determines the complexity from the parameter value that you specify in the Value property. This property is read only.

Minimum

Minimum value that the parameter can have. The default value is empty, which means the parameter value does not have a minimum. Specify a real double scalar.

If you store a complex number in the Value property, the Minimum property applies separately to the real and imaginary parts.

If you store a structure in the Value property, the object ignores the Minimum property. Instead, use a Simulink.Bus object as the data type of the parameter object and specify a minimum value for each field by using the elements of the bus object. See Control Field Data Types and Characteristics by Creating Parameter Object.

If Value is less than the minimum value or if the minimum value is outside the range of the object data type, Simulink generates a warning. When updating the diagram or starting a simulation, Simulink generates an error.

For more information about how Simulink uses this property, see Specify Minimum and Maximum Values for Block Parameters.

Maximum

Maximum value that the parameter can have. The default value is empty, which means the parameter value does not have a maximum. Specify a real double scalar.

If you store a complex number in the Value property, the Maximum property applies separately to the real and imaginary parts.

If you store a structure in the Value property, the object ignores the Maximum property. Instead, use a Simulink.Bus object as the data type of the parameter object and specify a maximum value for each field by using the elements of the bus object. See Control Field Data Types and Characteristics by Creating Parameter Object.

If Value is greater than the maximum value or if the maximum value is outside the range of the object data type, Simulink generates a warning. When updating the diagram or starting a simulation, Simulink generates an error.

For more information about how Simulink uses this property, see Specify Minimum and Maximum Values for Block Parameters.

Stored Integer Minimum

For parameter objects with a fixed-point data type, the minimum value that the parameter can have, specified as a stored integer value. The value is derived from the real-world value Minimum. This property is available only in the property dialog box.

Stored Integer Maximum

For parameter objects with a fixed-point data type, the maximum value that the parameter can have, specified as a stored integer value. The value is derived from the real-world value Maximum. This property is available only in the property dialog box.

Unit

Physical unit in which this value is expressed (for example, inches). To specify a unit, begin typing in the text box. As you type, the parameter displays potential unit string matches. For more information, see Unit Specification in Simulink Models.

Storage class

Storage class of this parameter object. Simulink code generation toolboxes use this property to allocate memory for this parameter object in the generated code.

For more information, see C Code Generation Configuration for Model Interface Elements (Simulink Coder) and Choose Storage Class for Controlling Data Representation in Generated Code (Embedded Coder).

Identifier

Alternative name for this parameter in the generated code.

Alignment

Data alignment boundary for code generation, specified in number of bytes. The starting memory address for the data allocated for the parameter is a multiple of the Alignment setting. The default value is -1, which specifies that the code generator determine an optimal alignment based on usage. Otherwise, specify a positive integer that is a power of 2, not exceeding 128. For more information, see Data Alignment for Code Replacement (Embedded Coder).

Argument

Specification to configure the parameter object as a model argument (see Parameterize Instances of a Reusable Referenced Model). This property appears only if the parameter object is in a model workspace.

Description

Custom description of this parameter object. Use this property to document the significance that the parameter object has in your algorithm.

If you have an Embedded Coder® license, you can configure this description to appear in the generated code as a comment. See Simulink data object descriptions (Embedded Coder).

See Also