plotSection

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

Описание

пример

plotSection(EMPCobj,plotParams) отображает 2D частный график кусочных аффинных областей, используемых явным контроллером 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

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

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;

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

plotSection(EMPCobj,plotParams)

Figure PiecewiseAffineSectionPlot contains an axes object. The axes object 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, для которого вы хотите создать 2D частный график в виде Явного контроллера MPC объект. Использование generateExplicitMPC создать явный контроллер MPC.

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

Смотрите также

|

Введенный в R2014b