getconstraint

Получите смешанные ограничения ввода/вывода от прогнозирующего диспетчера модели

Описание

пример

[E,F,G,V,S] = getconstraint(MPCobj) возвращает mixed-input/output ограничения, ранее заданные для контроллера MPC, MPCobj. Для получения дополнительной информации смотрите Смешанные Ограничения ввода/вывода.

Примеры

свернуть все

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

plant = rss(3,2,3);
plant.D = 0;
plant = setmpcsignals(plant,'mv',[1 2],'md',3);

Создайте контроллер 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.

Примите, что у вас есть два мягких ограничения.

u1+u25y2+v10

Установите ограничения для контроллера MPC.

E = [1 1; 0 0];
F = [0 0; 0 1];
G = [5;10];
V = [1;1];
S = [0;1];
setconstraint(MPCobj,E,F,G,V,S)

Получите ограничения от диспетчера.

[E,F,G,V,S] = getconstraint(MPCobj)
E = 2×2

     1     1
     0     0

F = 2×2

     0     0
     0     1

G = 2×1

     5
    10

V = 2×1

     1
     1

S = 2×1

     0
     1

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

свернуть все

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

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

свернуть все

Переменное, постоянное ограничение, которым управляют, возвращенное как Nc-by-Nmv массив, где Nc является количеством ограничений и Nmv, является количеством переменных, которыми управляют.

Если MPCobj не имеет никаких смешанных ограничений ввода/вывода, затем E [].

Управляемое выходное постоянное ограничение, возвращенное как Nc-by-Ny массив, где Ny является количеством управляемых выходных параметров (измеренный и неизмеренный).

Если MPCobj не имеет никаких смешанных ограничений ввода/вывода, затем F [].

Смешанное постоянное ограничение ввода/вывода, возвращенное как вектор-столбец длины Nc., где Nc является количеством ограничений.

Если MPCobj не имеет никаких смешанных ограничений ввода/вывода, затем G [].

Ограничение, смягчающее постоянное представление равного беспокойства о релаксации (ECR), возвращенный как вектор-столбец длины Nc, где Nc является количеством ограничений. Если MPCobj не имеет никаких смешанных ограничений ввода/вывода, затем V [].

Если V не задан, значение по умолчанию 1 применяется ко всем ограничительным неравенствам, и все ограничения являются мягкими. Это поведение совпадает с поведением по умолчанию для выходных границ, как описано в Стандартной Функции стоимости.

Сделать ith ограничение трудно, задайте V (i) = 0.

Сделать ith мягкое ограничение, задайте V (i)> 0 в соответствии с величиной нарушения ограничений, которую можно терпеть. Нарушение величины зависит от числовой шкалы переменных, вовлеченных в ограничение.

В общем случае как V (i) уменьшения, контроллер укрепляет ограничения путем уменьшения нарушения ограничений, которое позволено.

Измеренное постоянное ограничение воздействия, возвращенное как Nc-by-Nv массив, где Nv является количеством измеренных воздействий.

Если нет никаких измеренных воздействий в смешанных ограничениях ввода/вывода или MPCobj не имеет никаких смешанных ограничений ввода/вывода, затем S [].

Алгоритмы

свернуть все

Смешанные Ограничения ввода/вывода

Общая форма смешанных ограничений ввода/вывода:

E u (k + j) + F y (k + j) + S v (k + j) ≤ G + ε V

Здесь, j = 0..., p, и:

  • p является горизонтом предсказания.

  • k является индексом текущего времени.

  • u является переменными вектор-столбца, которыми управляют.

  • y является вектор-столбцом всех выходных переменных объекта.

  • v является вектор-столбцом измеренных переменных воздействия.

  • ε является слабой переменной скаляра, используемой для ограничительного смягчения (как в Стандартной Функции стоимости).

  • E, F, G, V и S являются постоянными матрицами.

Поскольку диспетчер MPC не оптимизирует u (k +p), getconstraint вычисляет последнее ограничение во время k+p предположение, что u (k +p) = u (k +p-1).

Введенный в R2011a