Change Circuit Parameters

Introduction

Each time that you change a parameter of the powerlib library blocks, you have to restart the simulation 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.

For the Simulink® blocks, all the powerlib library 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 assignment 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 you must define 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 array format with V1 variable name.

You can write a MATLAB script that loops on the 10 inductance values and displays the worst case scenario.

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 occurred for L1=%g H\n', V1_max, L1_vec(imax));
Was this topic helpful?