То В этом примере показано, как обработать в пакетном режиме - вычисляют установившиеся рабочие точки для модели с помощью, сгенерировало код MATLAB®. Можно или симулировать или линеаризовать модель в этих рабочих точках и изучить изменение в поведении модели.
Если вы плохо знакомы с записью скриптов, в интерактивном режиме конфигурируете свой поиск рабочих точек использование Steady State Manager или Model Linearizer.
Прежде, чем сгенерировать код для пакетной обрезки, сначала вычислите рабочую точку, чтобы соответствовать экземпляру ваших технических требований. Для получения дополнительной информации о вычислении рабочих точек в:
Steady State Manager, смотрите, Вычисляют Рабочие точки из Технических требований Используя Steady State Manager.
Model Linearizer, смотрите, Вычисляют Рабочие точки из Технических требований Используя Model Linearizer.
После вычисления рабочей точки сгенерируйте скрипт MATLAB. Сделать так в:
В Steady State Manager, на вкладке Specification, нажимают Trim
и выбирают Script
.
В Linear Analysis, в Обрезке диалоговое окно модели, нажимают Generate MATLAB Script.
Для получения дополнительной информации о генерации скриптов смотрите, Генерируют код MATLAB для Настройки Рабочей точки.
Сгенерированный скрипт открывается в окне MATLAB Editor. Можно затем изменить скрипт, чтобы обрезать модель в нескольких рабочих точках.
Этот пример демонстрирует обрезку пакета с помощью magball
Модель Simulink®.
Откройте модель.
open_system('magball')
Чтобы открыть Steady State Manager, в окне модели Simulink, в галерее Apps, нажимают Steady State Manager.
На вкладке Steady State нажмите Trim Specification.
В документе spec1, в столбце Known, выбирают состояние magball/Magnetic Ball Plant/height.
Сгенерируйте обрезку код MATLAB. На вкладке Specification нажмите Trim
и выберите Script
.
В окне MATLAB Editor измените скрипт, чтобы обрезать модель в нескольких рабочих точках.
Удалите ненужные комментарии из сгенерированного скрипта.
Задайте переменную высоты, height
, со значениями, в которых можно вычислить рабочие точки.
Добавьте for
цикл вокруг рабочей точки ищет код, чтобы вычислить установившуюся рабочую точку для каждого height
значение. В цикле, прежде, чем вызвать findop
, обновите ссылочную высоту мяча, заданную блоком Desired Height.
Ваш скрипт должен выглядеть похожим на следующий код.
%% Specify the model name model = 'magball'; %% Create the operating point specification object. opspec = operspec(model); % State (5) - magball/Magnetic Ball Plant/height % - Default model initial conditions are used to initialize optimization. opspec.States(5).Known = true; %% Create the options opt = findopOptions('DisplayReport','iter'); %% Specify ball heights at which to compute operating points height = [0.05;0.1;0.15]; %% Loop over height values to find the corresponding operating points for i = 1:length(height) % Set the ball height in the specification opspec.States(5).x = height(i); % Update the model ball haight reference parameter set_param('magball/Desired Height','Value',num2str(height(i))) % Trim the model [op(i),opreport(i)] = findop(model,opspec,opt); end
После выполнения этого скрипта, op
содержит рабочие точки, соответствующие каждому заданному height
значения.