Tunable Parameter/Gain and rapid acceleration

5 views (last 30 days)
I am having difficulty using Tunable parameters. Here is how it looks inside simulink mdl = 'Mymodel.mdl':
* Constant Block (value 1)---> GainA -> mpt.paramter constant block
I will be running this simulation on a single set of input dataset in a for loop, changing the gain for each itiration (with same input vector).
Sample Code:
for i=1:10000
if i==1
rtp = Simulink.BlockDiagram.buildRapidAcceleratorTarget(mdl);
end
Simulink.BlockDiagram.modifyTunableParameters(rtp,'GainA',Input_Gain(i));
SimOutput = sim(mdl,'SimulationMode','rapid','RapidAcceleratorUpToDateCheck','off');
end
-----------
This code need to build new rapid target for each itiration else it runs same model again and again without changing GainA. Is there any way around?

Accepted Answer

Kaustubha Govind
Kaustubha Govind on 19 Apr 2012
But you never pass the modified parameter into SIM right? Simulink.BlockDiagram.modifyTunableParameters creates a new RTP structure. It doesn't apply it to the model.
Try:
rtp = Simulink.BlockDiagram.buildRapidAcceleratorTarget(mdl);
for i=1:10000
new_rtp = Simulink.BlockDiagram.modifyTunableParameters(rtp, ...
'GainA',Input_Gain(i));
SimOutput = sim(mdl,'SimulationMode','rapid', ...
'RapidAcceleratorUpToDateCheck','off', ...
'RapidAcceleratorParameterSets', new_rtp);
end

More Answers (1)

Jayesh Kavathe
Jayesh Kavathe on 19 Apr 2012
Cant thank you enough for a quick solution on this! This works perfectly for me :)
  2 Comments
Paul
Paul on 21 Apr 2012
I looked through the Simulink R2012A documentation on TMW website for the functions Simulink.BlockDiagram.modifyTunableParameters and
Simulink.BlockDiagram.buildRapidAcceleratorTarget and couldn't find them. Can someone point me to the doc page where I can learn about them?
Kaustubha Govind
Kaustubha Govind on 24 Apr 2012
Paul: Unfortunately, it doesn't look like there is a doc page, but you can find some information using "help Simulink.BlockDiagram.modifyTunableParameters" and "help Simulink.BlockDiagram.buildRapidAcceleratorTarget". I found information about the usage from this demo: http://www.mathworks.com/products/simulink/demos.html?file=/products/demos/shipping/simulink/sldemo_parfor_paramsweep_suspn_raccel.html

Sign in to comment.

Categories

Find more on Programmatic Model Editing in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!