setparam
Syntax
Description
setparam(
sets the value of a tunable block parameter to a new value. Specify the block
parameter by the block name and the parameter name. target_object
, block_path
, parameter_name
, parameter_value
,'Force
',true)
setparam(
sets the value of the tunable global parameter to a new value. Specify the
global parameter by the MATLAB® variable name.target_object
, '', parameter_name
, parameter_value
,'Force
',true)
Examples
Set Block Parameter by Parameter and Block Names
Set the value of the block parameter
'Amplitude'
of the block 'Signal
Generator'
to 5
.
tg = slrealtime('TargetPC1'); model = 'slrt_ex_osc'; xfername = [model,'/Signal Generator']; slbuild(model); load(tg,model); setparam(tg,xfername,'Amplitude',5)
Sweep Block Parameter Values
Sweep the value of the block parameter
'Amplitude'
of the block 'Signal
Generator'
by steps of 2
.
tg = slrealtime('TargetPC1'); model = 'slrt_ex_osc'; xfername = [model,'/Signal Generator']; slbuild(model); load(tg,model); for i = 1 : 3 setparam(tg,xfername,'Amplitude',(i*2)) end
Set Global Parameter by Scalar Parameter Name
Set the value of the MATLAB variable 'Freq'
to
30
.
tg = slrealtime('TargetPC1'); model = 'slrt_ex_osc'; openExample(model); Freq = Simulink.Parameter; Freq.StorageClass = 'ExportedGlobal'; Freq.Value = 10; xfername = [model,'/Signal Generator']; set_param(xfername,'Frequency','Freq'); slbuild(model); load(tg,model); setparam(tg,'','Freq',30)
Set Global Parameter by Parameter Structure Field Name
Set the value of the MATLAB variable 'oscp.G2'
to
10000000
.
tg = slrealtime('TargetPC1'); model = 'slrt_ex_osc_struct'; openExample(model); load('slrt_ex_osc_struct.mat'); slbuild(model); load(tg,model); setparam(tg,'','spkp.g2_gain',10000000)
Access Parameter Values in Parameter Structure
The getparam
and
setparam
functions support dot notation syntax to
access parameter values in real-time applications. These are examples of more
advanced syntax.
% If a parameter is a struct, a single element of any % array can be specified at any arbitrary depth in the struct. tg.setparam('', 'p.a.b(2).c', val) val = tg.getparam('', 'p.a.b(2).c') % If a parameter is an array of structs, one element of % the struct array can be specified as follows: tg.setparam('', 'p(2,2).x.y.z', val) val = tg.getparam('', 'p(2,2).x.y.z') % If a parameter is N dimensions, a single element of % the parameter can be accessed by specifying each dimension. tg.setparam('top/constant', 'Value(3,4)', val) val = tg.getparam('top/constant', 'Value(3,4)') % If a parameter is Mx1 or 1xN (row or column vector), % the following syntax specifying a single index % is allowed: tg.setparam('top/constant1', 'Value(4)', val)
Input Arguments
target_object
— Object that represents target computer
slrealtime.Target
object
Provides access to methods that manipulate the target computer properties.
Example: tg
block_path
— Hierarchical name of the originating block
character vector | string scalar | cell array of character vectors or strings
The block_path
values can be:
Empty character vector (
''
) or empty string scalar (""
) for base or model workspace variablesCharacter vector or string scalar string for block path to parameters in the top model
Cell array of character vectors or string scalars for model block arguments
Example: ''
, 'Gain1'
,
{'top/model','sub/model'}
parameter_name
— Name of the parameter
character vector | string scalar
The parameter can designate either a block parameter or a global parameter that provides the value for a block parameter. The block parameter or MATLAB variable must be observable to be accessible through the parameter name.
Note
Simulink® Real-Time™ does not support parameters of multiword data types.
Example: 'Gain'
, 'oscp.G1'
, 'oscp'
, 'G2'
parameter_value
— New parameter value
number | character vector | string scalar | complex | structure | numeric array
New value with data type as required by parameter.
Example: 1
Force
— Force set value
false
(default) | true
The optional 'Force', true
name-value pair argument
forces the parameter value set operation even if the value is not in the
range of [min max]
for the parameter.
Example: 'Force', true
Data Types: logical
Version History
Introduced in R2020bR2021b: Parameter Structure for getparam and setparam
The operation of the getparam
function and
setparam
function supports dot notation for:
Specifying a field of a struct for
getparam
. It has the same support assetparam
.Specifying an element of a struct array or matrix for
getparam
andsetparam
.Specifying one field of a struct when any substructure is an array of structs for
getparam
andsetparam
.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)