mpcsimopt

Опции симуляции MPC

Синтаксис

options = mpcsimopt(MPCobj)

Описание

options = mpcsimopt(MPCobj) создает набор опций для определения дополнительных параметров для симуляции контроллера mpc, MPCobj, с sim. Первоначально, options пуст. Используйте запись через точку, чтобы изменить опции по мере необходимости для симуляции.

Выходные аргументы

options

Опции для симуляции контроллера mpc, использующего sim. options имеет следующие свойства.

Свойства опций симуляции MPC

Свойство

Описание

PlantInitialState

Вектор начального состояния модели объекта управления, генерирующей данные.

ControllerInitialState

Начальное условие контроллера MPC. Это должно быть допустимым объектом mpcstate.

Примечание

Ненулевые значения ControllerInitialState.LastMove только значимы, если существуют ограничения на шаг переменных, которыми управляют.

UnmeasuredDisturbance

Неизмеренный сигнал воздействия ввод объекта.

Массив со столькими же строк сколько симуляция продвигается, и столько же столбцов сколько неизмеренные воздействия. Значение по умолчанию: 0

InputNoise

Шум на переменных, которыми управляют.

Массив со столькими же строк сколько симуляция продвигается, и столько же столбцов сколько переменные, которыми управляют. Последняя выборка массива постоянно расширяется по горизонту, чтобы получить правильный размер. Значение по умолчанию: 0

OutputNoise

Шум на измеренных выходных параметрах.

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

RefLookAhead

Предварительный просмотр на ссылочном сигнале ('on' или 'off'). Значение по умолчанию: 'off'

MDLookAhead

Предварительный просмотр на измеренном сигнале воздействия ('on' или 'off').

Constraints

Используйте ограничения MPC ('on' или 'off'). Значение по умолчанию: 'on'

Model

Модель, используемая в симуляции для генерации данных.

Это свойство полезно для симуляции контроллера MPC под образцовым несоответствием. Объект LTI, заданный в Model, может быть или заменой для Model.Plant или структурой с полями Plant и Nominal. По умолчанию Model равен MPCobj.Model (никакое образцовое несоответствие). Если Model задан, то PlantInitialState относится к начальному состоянию Model.Plant и принят значение по умолчанию к Model.Nominal.x.

Если Model.Nominal пуст, Model.Nominal.U and Model.Nominal.Y наследованы от MPCobj.Model.Nominal. Model.Nominal.X/DX только наследован, если оба объекта являются объектами пространства состояний с той же размерностью состояния.

StatusBar

Отобразите панель ожидания ('on' или 'off'). Значение по умолчанию: 'off'

MVSignal

Последовательность переменных, которыми управляют (со смещениями) для симуляции разомкнутого цикла (никакое действие MPC).

Массив со столькими же строк сколько симуляция продвигается, и столько же столбцов сколько переменные, которыми управляют. Значение по умолчанию: 0

OpenLoop

Выполните симуляцию разомкнутого цикла ('on' или 'off'). Значение по умолчанию: 'off'

Примеры

свернуть все

Моделируйте MPC управление мультивходом, мультивыведите (MIMO) систему с несоответствием между предсказанными и фактическими моделями объекта управления. Система имеет две переменные, которыми управляют, два неизмеренных воздействия и два измеренных выходных параметров.

Задайте предсказанную модель объекта управления.

p1 = tf(1,[1 2 1])*[1 1;0 1];
plantPredict = ss([p1 p1]);
plantPredict.InputName = {'mv1','mv2','umd3','umd4'};

Задайте типы сигнала MPC.

plantPredict = setmpcsignals(plantPredict,'MV',[1 2],'UD',[3 4]);

Создайте контроллер MPC.

mpcobj = mpc(plantPredict,1,40,2);
-->The "Weights.ManipulatedVariables" property of "mpc" object is empty. Assuming default 0.00000.
-->The "Weights.ManipulatedVariablesRate" property of "mpc" object is empty. Assuming default 0.10000.
-->The "Weights.OutputVariables" property of "mpc" object is empty. Assuming default 1.00000.

Задайте неизмеренное входное возмущение, используемое контроллером.

distModel = eye(2,2)*ss(-0.5,1,1,0);
mpcobj.Model.Disturbance = distModel;

Задайте фактическую модель объекта управления, которая отличается от предсказанной модели и имеет непредвиденные неизмеренные входные параметры воздействия.

p2 = tf(1.5,[0.1 1 2 1])*[1 1;0 1];
plantActual = ss([p2 p2 tf(1,[1 1])*[0;1]]);
plantActual = setmpcsignals(plantActual,'MV',[1 2],'UD',[3 4 5]);

Сконфигурируйте неизмеренное воздействие и выведите ссылочные траектории.

dist = ones(1,3);
refs = [1 2];

Создайте и сконфигурируйте набор опции симуляции.

options = mpcsimopt(mpcobj);
options.UnmeasuredDisturbance = dist;
options.Model = plantActual;

Моделируйте систему.

sim(mpcobj,20,refs,options)
-->Converting model to discrete time.
-->Assuming output disturbance added to measured output channel #1 is integrated white noise.
-->Assuming output disturbance added to measured output channel #2 is integrated white noise.
-->The "Model.Noise" property of the "mpc" object is empty. Assuming white noise on each measured output channel.
-->Converting model to discrete time.
-->The "PredictionHorizon" property of "mpc" object is empty. Trying PredictionHorizon = 10.
-->The "ControlHorizon" property of the "mpc" object is empty. Assuming 2.
-->The "Weights.ManipulatedVariables" property of "mpc" object is empty. Assuming default 0.00000.
-->The "Weights.ManipulatedVariablesRate" property of "mpc" object is empty. Assuming default 0.10000.
-->The "Weights.OutputVariables" property of "mpc" object is empty. Assuming default 1.00000.

Представлено до R2006a