SimPowerSystems | ![]() ![]() |
Changing Your Circuit Parameters
Each time that you change a parameter of the powerlib blocks, you have to restart the simulation in order to evaluate the state-space model and update the parameters of the nonlinear models. However, you can change any source parameter (Magnitude, Frequency or Phase) during the simulation. The modification takes place as soon as you apply the modification or close the source block menu.
As for the Simulink blocks, all the powerlib block parameters that you specify in the dialog box can contain MATLAB expressions using symbolic variable names. Before running the simulation, you must assign a value to each of these variables in your MATLAB workspace. This allows you to perform parametric studies by changing the parameter values in a MATLAB script.
Example of MATLAB Script Performing a Parametric Study
Suppose that you want to perform a parametric study in a circuit named my_circuit
to find the impact of varying an inductance on switching transients. You want to find the highest overvoltage and the inductance value for which it occurred.
The inductance value of one of the blocks contains variable L1
, which should be defined in your workspace. L1
is varied in 10 steps from 10 mH to 100 mH and the values to be tested are saved in a vector L1_vec
. The voltage waveform to be analyzed is stored in a ToWorkspace block in matrix format with V1
variable name.
You can write a MATLAB M-file that loops on the 10 inductance values and displays the worst case.
L1_vec= (10:10:100)*1e-3; % 10 inductances values 10/100 mH V1_max=0; for i=1:10 L1=L1_vec(i); fprintf('Test No %d L1= %g H\n', i, L1); sim('my_circuit'); % performs simulation % memorize worst case if max(abs(V1))>V1_max, imax=i; V1_max=max(abs(V1)); end end fprintf('Maximum overvoltage= %g V occured for L1=%g H\n', V1_max, L1_vec(imax));
![]() | Creating Your Own Library of Models | Power System Block Reference | ![]() |