about setting setBlockParameter (blkParam, paramVal)

I have a qusestion about setting setBlockParameter.
In example,
blkParam is 'Gain' and 'Position'.
Question for here.
  1. Are these 'Gain' and 'Position' is designated text arrays in Metlab?
  2. Can't I set it to my own text I want?
plus
In example.
paramVal is '40'
Question for here.
3. I want to change value '40' to 1x4 maxtrix [1 0 0 0], how can i change the value?

 Accepted Answer

A1. Gain and Position are block parameters. Position is a paramter that is common to all blocks. More info here Common Block Properties Gain is a block parameter unique to the Gain block. More info here Block-Specific Parameters.
A2. No, you can't change the names of those parameters, only their values.
A3.
simin = setBlockParameter(simin,'vdp/Mu','Gain','[1 0 0 0]');
Of course, you have to make sure that the model will still work with that value for Gain.

8 Comments

Thank you for your apply.
I have one more question.
Im using quaternion division block,
  1. I want to know blkParam for setting initial position.
This quaternion division block? I don't see anything in that block related to initial position. If another block, please provide link.
Generally speaking, you can use get_param to see the parameters for any block in your model.
That the right one.
Thank you for providing get_param.
Thank you.
Sorry for late question.
Im qurious about setting a new parameter on the subsystem.
Is that possible?
I don't think you can define a new parameter for any block. I could be wrong.
However, each block has a UserData property that may provide nearly that functionality. For example, you can make the UserData value a struct, and each field of the struct can represent a parameter and its value.
If you want to change the value of a block parameter, use set_param.
In watertank model
(https://kr.mathworks.com/help/reinforcement-learning/ug/water-tank-reinforcement-learning-environment-model.html?searchHighlight=watertank&s_tid=srchtitle_watertank_3)
  • blk = 'rlwatertank/Water-Tank System/H';
  • in = setBlockParameter(in,blk,'InitialCondition',num2str(h));
I cannot find InitialCondition parameter in constant block.
But, the H is the constant block and setting some InitialCondition.
can you explain it?
And my purpose is want to set some intialValue for my quarternion Multiplication for my reinforment learning.
oh I'm Sorry.
The H block was integrator block.
Sounds like you have it sorted out. Good luck with your project.

Sign in to comment.

More Answers (0)

Categories

Asked:

on 29 Dec 2022

Commented:

on 30 Dec 2022

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!