В этом примере показано, как выполнять пакетное вычисление установившихся рабочих точек для модели с использованием сгенерированного кода MATLAB ®. Можно смоделировать или линеаризовать модель в этих рабочих точках и изучить изменение поведения модели.
Если вы новичок в написании сценариев, интерактивно настройте поиск рабочих точек с помощью Диспетчера устойчивого состояния (Steady State Manager) или Линеаризатора модели (Model Linearizer).
Прежде чем создавать код для обрезки партии, сначала вычислите операционную точку в соответствии с экземпляром ваших спецификаций. Для получения дополнительной информации о вычислениях операционных точек в:
Диспетчер устойчивого состояния (Steady State Manager), см. раздел Расчет рабочих точек на основе спецификаций с использованием Диспетчера устойчивого состояния (Steady State Manager).
Модель линеаризатора, см. Расчет рабочих точек по спецификациям с использованием модели линеаризатора.
После вычисления рабочей точки создайте сценарий MATLAB. Для этого выполните следующие действия:
В Диспетчере устойчивого состояния (Steady State Manager) на вкладке Спецификация (Specification) щелкните Обрезать (Trim)
и выберите
Script.
В Линейном анализе (Linear Analysis) в диалоговом окне Отсечь модель (Trim the model) щелкните Создать сценарий MATLAB (Generate MATLAB Script).
Дополнительные сведения о создании сценариев см. в разделе Создание кода MATLAB для конфигурации операционной точки.
Созданный сценарий откроется в окне редактора MATLAB. Затем можно изменить сценарий, чтобы обрезать модель в нескольких рабочих точках.
В этом примере демонстрируется обрезка партии с помощью magball Модель Simulink ®.
Откройте модель.
open_system('magball')Чтобы открыть Диспетчер устойчивого состояния (Steady State Manager), в окне модели Simulink в галерее Apps щелкните Диспетчер устойчивого состояния (Steady State Manager).
На вкладке Устойчивое состояние (Steady State) щелкните Отсечь спецификацию (Trim Specification).
В документе spec1 в столбце Известные выберите состояние magball/Magnetic Ball Plant/height.

Создайте обрезанный код MATLAB. На вкладке Спецификация (Specification) щелкните Обрезать (Trim)
и выберите
Script.

В окне редактора MATLAB измените сценарий, чтобы обрезать модель в нескольких рабочих точках.
Удалить ненужные комментарии из созданного сценария.
Определите переменную высоты, height, со значениями, при которых вычисляются рабочие точки.
Добавить for закольцовывание кода поиска рабочей точки для вычисления установившейся рабочей точки для каждой height значение. В цикле, перед вызовом findopобновите опорную высоту шара, заданную блоком «Требуемая высота».
Сценарий должен выглядеть аналогично следующему коду.
%% Specify the model name model = 'magball'; %% Create the operating point specification object. opspec = operspec(model); %% Set the constraints on the states in the 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 значения.