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?

 Akzeptierte Antwort

Paul
Paul am 29 Dez. 2022
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 Kommentare

기범
기범 am 29 Dez. 2022
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.
Paul
Paul am 29 Dez. 2022
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.
기범
기범 am 29 Dez. 2022
That the right one.
Thank you for providing get_param.
Thank you.
기범
기범 am 29 Dez. 2022
Sorry for late question.
Im qurious about setting a new parameter on the subsystem.
Is that possible?
Paul
Paul am 29 Dez. 2022
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.
기범
기범 am 30 Dez. 2022
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.
기범
기범 am 30 Dez. 2022
oh I'm Sorry.
The H block was integrator block.
Paul
Paul am 30 Dez. 2022
Sounds like you have it sorted out. Good luck with your project.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Gefragt:

am 29 Dez. 2022

Kommentiert:

am 30 Dez. 2022

Community Treasure Hunt

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

Start Hunting!

Translated by