Parameter sweep using simscape

12 visualizzazioni (ultimi 30 giorni)
Joshua W R Meggitt
Joshua W R Meggitt il 8 Gen 2021
I am trying to use Simscape to model the simple cross-over filter below.
Using the linearisation tool box I am able to extract its state-space representation and plot its transfer function. I would like to run a parameter sweep where I vary the inductance of Ind1.
I have managed to get this working, but the simulation has to recompile everytime it is linearised. When I use the fastRestartForLinearAnalysis( ) function (taken fropm the example in the model no longer recompiles with each iteration, but the variable L_LP doesnt seem to get updated anymore... How can I avoid recompiling the model everytime, whilst still varying parameter values?
The main peice of code I am using is given below.
L_LP = 1e-3;
% fastRestartForLinearAnalysis(mdl,'on')
for n = 1:100
L_LP = L_LP + 0.0001 ; % Value of an inductor in circuit
% Simulink.Block.eval('test1/Ind1')
linsys = linearize(mdl,io);
[magLP(n,:), phaseLP(n,:)] = bode(linsys(1),w);
% fastRestartForLinearAnalysis(mdl,'off');

Risposte (1)

Juan Sagarduy
Juan Sagarduy il 12 Gen 2021
Hi Joshua
Is the inductance parameter set as Run-time in the Simscape component? By default it is not, so maybe you can check this and test out.
Regards / Juan
  1 Commento
Joshua W R Meggitt
Joshua W R Meggitt il 12 Gen 2021
Hi Juan,
Thanks for the suggestion. I wasnt aware of run-time parameters in simscape, they certainty look relevent.
Unfortuantely, after setting the inductance parameter to run-time, I am having the same issue. With each iteration the inductance variable updates in the workspace, but when I linearise the model nothing seems to change. Where as if i recompile between lineartisations I get the expected spread of bode plots.
Any other suggestions would be welcome!

Accedi per commentare.


Scopri di più su Simscape Electrical in Help Center e File Exchange




Community Treasure Hunt

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

Start Hunting!

Translated by