exponenta event banner

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

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

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 секционный график, указанный как объект явного контроллера MPC. Использовать generateExplicitMPC для создания явного контроллера MPC.

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

Представлен в R2014b