plotSection

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

Синтаксис

plotsection(EMPCobj,plotParams)

Описание

пример

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)

ans = 
  Figure (1: PiecewiseAffineSectionPlot) with properties:

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

  Show all properties

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

свернуть все

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

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

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

|

Введенный в R2014b