主要内容

plotSection

将显式MPC控制律可视化为二维截面图

描述

例子

plotSection (EMPCobjplotParams显示了显式MPC控制器使用的分段仿射区域的二维截面图。除两个外,控制律的自由参数都是固定的plotParams.剩下的两个变量形成了坐标轴。默认情况下,EMPCobj。范围属性设置这些轴的边界。

例子

全部折叠

定义一个双积分器装置模型,并为该装置创建一个传统的隐式MPC控制器。约束被操作变量的绝对值小于1

Plant = tf(1,[1 0 0]);MPCobj = mpc(plant,0.1,10,3);
- - - >“权重。“操纵变量”属性为空。假设默认值为0.00000。- - - >“权重。“操纵变量率”属性为空。假设默认为0.10000。- - - >“权重。OutputVariables属性为空。假设默认值为1.00000。
MPCobj。MV = struct(“最小值”, 1“马克斯”1);

定义生成显式MPC控制器的参数边界。

range = generateExplicitRange(MPCobj);
——>转换“模型”。植物的“属性”到状态空间。——>转换模型到离散时间。假设对测量的1号输出通道没有干扰。——>”模式。“噪音”属性为空。假设每个测量输出都有白噪声。
range.State.Min(:) = [-10;-10];range.State.Max(:) = [10;10];range.Reference.Min(:) = -2;range.Reference.Max(:) = 2;range. manipulation variable . min (:) = -1.1;range. manipulation variable . max (:) = 1.1;

创建一个显式MPC控制器。

EMPCobj = generateExplicitMPC(MPCobj,range);
已发现/未勘探区域:19/ 0

创建一个默认的绘图参数结构,它指定所有控制器参数都固定在标称值上。

plotParams = generatePlotParameters(EMPCobj);

在创建绘图时,允许控制器状态变化。

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

固定被操纵的变量和参考信号0策划。

plotparams . manipulation variable . index (1) = 1;plotparams . manipulation variable . value (1) = 0;plotParams.Reference.Index(1) = 1;plotParams.Reference.Value(1) = 0;

为显式MPC控制器生成二维截面图。

plotSection (EMPCobj plotParams)

图PiecewiseAffineSectionPlot包含一个axis对象。标题为2d Plot of Explicit MPC Polyhedral Partition的axis对象包含19个patch类型的对象。

ans =图(1:PiecewiseAffineSectionPlot),属性:Number: 1名称:'PiecewiseAffineSectionPlot'颜色:[1,1 1]位置:[348 480 583 437]单位:'pixels'显示所有属性

输入参数

全部折叠

显式MPC控制器,您要为其创建二维截面图,指定为显式MPC控制器对象。使用generateExplicitMPC创建一个显式MPC控制器。

显式MPC控制律截面图的参数,指定为一个结构。使用generatePlotParameters创建一个初始结构,其中控制器的所有参数都固定在其标称值。然后,在调用之前根据需要修改此结构plotSection.看到generatePlotParameters更多信息。

版本历史

在R2014b中引入