То В этом примере показано, как обработать в пакетном режиме - вычисляют установившиеся рабочие точки для модели с помощью, сгенерировало код MATLAB®. Можно или симулировать или линеаризовать модель в этих рабочих точках и изучить изменение в поведении модели.
Если вы плохо знакомы с записью скриптов, в интерактивном режиме конфигурируете свой поиск рабочих точек использование Steady State Manager или Linear Analysis Tool.
Прежде, чем сгенерировать код для пакетной обрезки, сначала вычислите рабочую точку, чтобы соответствовать экземпляру ваших спецификаций. Для получения дополнительной информации о вычислении рабочих точек в:
Steady State Manager, смотрите, Вычисляют Рабочие точки из Спецификаций Используя Steady State Manager.
Linear Analysis Tool, смотрите, Вычисляют Рабочие точки из Specifications Using Linear Analysis Tool.
После вычисления рабочей точки сгенерируйте скрипт 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))) end %% Compute operating points using the defined specs [op,opreport] = findop(model,opspec,opt);
После выполнения этого скрипта, op
содержит рабочие точки, соответствующие каждому заданному height
значения.