set

Установите или измените свойства объекта MPC

Описание

Используйте Model Predictive Control Toolbox™ set функция для назначения значений свойств контроллера MPC (см. mpc для фона).

Для реализации интерфейса Get/Set стандартного объекта MATLAB смотрите Реализуйте Интерфейс Set/Get для Свойств.

пример

set(MPCobj,Name,Value) задать свойства MPCobj использование одного или нескольких Name,Value аргументы в виде пар. Для примера, set(mpcobj,"ControlHorizon",4) присваивает значение 3 на ControlHorizon свойство контроллера MPC MPCobj.

set(MPCobj,PropertyName) отображает допустимые значения свойства, заданные векторы символов Propertyname. Посмотрите mpc обзор законных значений свойств MPC.

set(MPCobj) отображает все присваиваемые свойства MPCobj и их допустимые значения.

Примеры

свернуть все

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

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

plant = rss(3,2,5);
plant.D = 0;
plant = setmpcsignals(plant,'MV',[1 2],'MD',3,'UD',[4 5]);

Создайте контроллер MPC, используя этот объект.

MPCobj = mpc(plant,0.1);
-->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.

Настройте свойства контроллера. Для примера установите коэффициенты масштабирования для сигналов нарушения порядка.

MPCobj.DisturbanceVariables(1).ScaleFactor = 10;
MPCobj.DisturbanceVariables(2).ScaleFactor = 5;
MPCobj.DisturbanceVariables(3).ScaleFactor = 20;

Предположим, что вы хотите изменить второе неизмеренное нарушение порядка на измеренное нарушение порядка. Для этого необходимо одновременно обновить DisturbanceVariables свойство контроллера, поскольку порядок его входов зависит от типов нарушений порядка (измеренные нарушения порядка с последующими неизмеренными нарушениями порядка).

Создайте обновленный массив структур переменных нарушения порядка. Для этого переместите третий элемент, чтобы быть вторым элементом.

DV = MPCobj.DisturbanceVariables;
DV = [DV(1) DV(3) DV(2)];
DV(2).Name = 'MD2';

Чтобы задать типы сигналов внутренней модели объекта управления, получите Model свойство от контроллера и изменение типов сигналов его Plant элемент.

model = MPCobj.Model;
model.Plant = setmpcsignals(model.Plant,'MV',[1 2],'MD',[3 5],'UD',4);

Установите свойства модели и переменных нарушения порядка контроллера в их обновленные значения.

set(MPCobj,'Model',model,'DisturbanceVariables',DV);

В целом, лучшей практике не изменять типы сигналов после создания контроллера. Вместо этого создайте и сконфигурируйте новый объект контроллера с новым строением сигнала.

Входные параметры

свернуть все

Моделируйте прогнозирующий контроллер, заданный как объект контроллера MPC. Чтобы создать контроллер MPC, используйте mpc.

PropertyName может быть полным именем свойства (для примера, 'UserData') или любое однозначное нечувствительное к регистру сокращение (для примера, 'user').

Пример: 'PredictionHorizon'

См. также

| |

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте