Измените параметры схемы

Введение

Каждый раз, когда вы изменяете параметр блоков библиотеки Simscape™ Electrical™ Specialized Power Systems, необходимо перезапустить симуляцию, чтобы оценить модель в пространстве состояний и обновить параметры нелинейных моделей. Однако можно изменить любой исходный параметр (Значение, Частота или Фаза) во время симуляции. Модификация происходит, как только вы применяете модификацию или закрываете меню исходного блока.

Для блоков Simulink® все параметры блоков библиотеки Simscape Electrical Specialized Power Systems, которые вы задаете в диалоговом окне, могут содержать выражения MATLAB® с помощью символьных имен переменных. Прежде, чем запустить симуляцию, необходимо присвоить значение каждой из этих переменных в рабочем пространстве MATLAB. Это присвоение позволяет вам выполнять параметрические исследования путем изменения значений параметров в скрипте MATLAB.

Пример СКРИПТА MATLAB, выполняющего параметрическое исследование

Предположим, что вы хотите выполнить параметрическое исследование в схеме под названием my_circuit, чтобы найти влияние варьирования индуктивности на переключающихся переходных процессах. Вы хотите найти самое высокое повышенное напряжение и значение индуктивности, для которого оно произошло.

Значение индуктивности одного из блоков содержит переменную L1, которую необходимо задать в рабочей области. L1 отличается по 10 шагам от 10 мГн до 100 мГн, и значения, которые будут протестированы, сохранены в векторе, L1_vec. Форма волны напряжения, которая будет анализироваться, хранится в блоке ToWorkspace в формате массивов с именем переменной V1.

Можно записать скрипт MATLAB, что циклы на 10 значениях индуктивности и отображают худший вариант развития событий.

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));