getconstraint

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

Синтаксис

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

Описание

пример

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

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

где j = 0..., p, и:

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

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

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

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

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

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

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

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

Примеры

свернуть все

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

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 применяется ко всем ограничительным неравенствам, и все ограничения являются мягкими. Это поведение совпадает с поведением по умолчанию для выходных границ, как описано в Стандартной Функции стоимости.

Чтобы сделать i th ограничением трудно, задайте V (i) = 0.

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

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

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

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

Введенный в R2011a