Parameter sweep using simscape
14 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 https://uk.mathworks.com/help/slcontrol/ug/fastrestartforlinearanalysis.html) 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.
set_param('test1/Ind1','L','L_LP');
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);
end
% fastRestartForLinearAnalysis(mdl,'off');
0 commentaires
Réponses (1)
Juan Sagarduy
le 12 Jan 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.
https://se.mathworks.com/help/physmod/simscape/run-time-parameters.html
Regards / Juan
Voir également
Catégories
En savoir plus sur Electrical Sensors dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!