plotSection

Визуализируйте явный закон MPC управления как 2-D секционный график

Описание

пример

plotSection(EMPCobj,plotParams) отображает 2-D график сечения кусочно-аффинных областей, используемых явным контроллером MPC. Все свободные параметры закона о контроле, кроме двух, фиксированы, как задано plotParams. Две оставшиеся переменные образуют оси графика. По умолчанию в EMPCobj.Range свойство устанавливает границы для этих осей.

Примеры

свернуть все

Задайте модель объекта с двойным интегратором и создайте традиционный неявный контроллер MPC для этого объекта. Ограничьте управляемую переменную абсолютным значением меньше 1.

plant = tf(1,[1 0 0]);
MPCobj = mpc(plant,0.1,10,3);
-->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.MV = struct('Min',-1,'Max',1);

Задайте ограничения параметров для генерации явного контроллера MPC.

range = generateExplicitRange(MPCobj);
-->Converting the "Model.Plant" property of "mpc" object to state-space.
-->Converting model to discrete time.
   Assuming no disturbance added to measured output channel #1.
-->The "Model.Noise" property of the "mpc" object is empty. Assuming white noise on each measured output channel.
range.State.Min(:) = [-10;-10];
range.State.Max(:) = [10;10];
range.Reference.Min(:) = -2;
range.Reference.Max(:) = 2;
range.ManipulatedVariable.Min(:) = -1.1;
range.ManipulatedVariable.Max(:) = 1.1;

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

EMPCobj = generateExplicitMPC(MPCobj,range);
Regions found / unexplored:       19/       0

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

plotParams = generatePlotParameters(EMPCobj);

Разрешить изменение состояний контроллера при создании графика.

plotParams.State.Index = [];
plotParams.State.Value = [];

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

plotParams.ManipulatedVariable.Index(1) = 1;
plotParams.ManipulatedVariable.Value(1) = 0;
plotParams.Reference.Index(1) = 1;
plotParams.Reference.Value(1) = 0;

Сгенерируйте график раздела 2-D для явного контроллера MPC.

plotSection(EMPCobj,plotParams)

Figure PiecewiseAffineSectionPlot contains an axes. The axes with title 2-D Plot of Explicit MPC Polyhedral Partition contains 19 objects of type patch.

ans = 
  Figure (1: PiecewiseAffineSectionPlot) with properties:

      Number: 1
        Name: 'PiecewiseAffineSectionPlot'
       Color: [1 1 1]
    Position: [360 502 560 420]
       Units: 'pixels'

  Show all properties

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

свернуть все

Явный MPC- контроллера, для которого необходимо создать 2-D сечение, заданный как объект Explicit MPC контроллера. Использовать generateExplicitMPC для создания явного контроллера MPC.

Параметры для секционного графика явного закона MPC управления, заданные как структура. Использовать generatePlotParameters создать начальную структуру, в которой все параметры контроллера фиксируются на своих номинальных значениях. Затем измените эту структуру по мере необходимости перед вызовом plotSection. Посмотрите generatePlotParameters для получения дополнительной информации.

Введенный в R2014b