主要内容

setoutdist

修正未测输出扰动模型

描述

例子

setoutdist (MPCobj“模型”,模型设置模型预测控制器使用的输出扰动模型,MPCobj,到自定义模型。

例子

setoutdist (MPCobj、“集成商”)将输出扰动模型设置为默认值。如果您以前设置了自定义输出扰动模型,并且希望更改回默认模型,请使用此语法。有关默认输出扰动模型的更多信息,请参见MPC预测模型

例子

全部折叠

定义一个没有直接馈通的工厂模型,并为该工厂创建一个MPC控制器。

植物= rss(3,3,3);工厂。D = 0;MPCobj = mpc(植物,0.1);
——>“PredictionHorizon”属性为空。假设默认为10。“ControlHorizon”属性为空。假设默认2。- - - >“权重。属性为空。假设默认值为0.00000。- - - >“权重。属性为空。假设默认为0.10000。 -->The "Weights.OutputVariables" property is empty. Assuming default 1.00000.

为每个输出定义扰动模型,这样输出扰动为:

  • 信道1是大小为的随机白噪声2

  • 信道2是大小为的随机阶跃噪声0.5

  • 第三频道是随机斜坡状噪声,大小为1

Mod1 = tf(2,1);Mod2 = tf(0.5,[1 0]);Mod3 = tf(1,[1 0 0]);

利用这些传递函数构造输出扰动模型。为每个输出扰动使用单独的噪声输入。

Outdist = [mod1 0 0;0 mod2 0;0 0 mod3];

在MPC控制器中设置输出扰动模型。

setoutdist (MPCobj“模型”outdist)

查看控制器输出扰动模型。

getoutdist (MPCobj)
ans = A = x1 x2 x3 x1 1 00 x2 0 1 0 x3 0 0.1 1 B =噪声#1噪声#2噪声#3 x1 0 0.05 0 x2 00 0.1 x3 00 0.005 C = x1 x2 x3 MO1 00 0 MO2 1 00 MO3 00 1 D =噪声#1噪声#2噪声#3 MO1 2 00 MO2 00 0 MO3 00 00采样时间:0.1秒离散时间状态空间模型。

控制器将连续时间传递函数模型,outdist,转化为离散时间状态空间模型。

定义一个没有直接馈通的工厂模型,并为该工厂创建一个MPC控制器。

植物= rss(3,3,3);工厂。D = 0;MPCobj = mpc(植物,0.1);
——>“PredictionHorizon”属性为空。假设默认为10。“ControlHorizon”属性为空。假设默认2。- - - >“权重。属性为空。假设默认值为0.00000。- - - >“权重。属性为空。假设默认为0.10000。 -->The "Weights.OutputVariables" property is empty. Assuming default 1.00000.

从控制器检索默认的输出扰动模型。

distMod = getoutdist(MPCobj);
——>转换模型到离散时间。假设添加到测量输出通道#1的输出扰动是集成白噪声。假设添加到测量输出通道#2的输出扰动是集成白噪声。假设添加到测量输出通道#3的输出扰动是集成白噪声。——>”模式。“噪音”属性为空。假设每个测量输出都有白噪声。

从第二个输出通道中移除积分器。通过去除第二个输入通道,并将其他两个输入对第二个输出的影响设为零,构建新的输出扰动模型。

distMod = sminreal([distMod(1,1)) distMod(1,3);0 0;distMod (3,1) distMod (3)]);setoutdist (MPCobj“模型”distMod)

当以这种方式从输出扰动模型中移除积分器时,使用sminreal使定制模型在结构上最小化。

查看输出扰动模型。

特遣部队(getoutdist (MPCobj))
ans =从输入“噪声#1”到输出…0.1 MO1: ----- z - 1 MO2: 0 MO3: 0从输入“噪声#2”到输出…MO1: 0 MO2: 0 0.1 MO3: ----- z - 1采样时间:0.1秒离散传递函数。

积分器已从第二通道中移除。信道的扰动模型1而且3.保持它们作为离散时间积分器的默认值。

定义一个没有直接馈通的工厂模型,并为该工厂创建一个MPC控制器。

植物= rss(3,3,3);工厂。D = 0;MPCobj = mpc(plant,1);
——>“PredictionHorizon”属性为空。假设默认为10。“ControlHorizon”属性为空。假设默认2。- - - >“权重。属性为空。假设默认值为0.00000。- - - >“权重。属性为空。假设默认为0.10000。 -->The "Weights.OutputVariables" property is empty. Assuming default 1.00000.

将所有三个输出通道的输出扰动模型设置为零。

setoutdist (MPCobj“模型”特遣部队(0 (3,1)))

查看输出扰动模型。

getoutdist (MPCobj)
ans = D =噪声#1 MO1 0 MO2 0 MO3 0静态增益。

的静态增益0对于所有输出通道,表示输出干扰已被消除。

定义一个没有直接馈通的工厂模型,并为该工厂创建一个MPC控制器。

植物= rss(2,2,2);工厂。D = 0;MPCobj = mpc(植物,0.1);
——>“PredictionHorizon”属性为空。假设默认为10。“ControlHorizon”属性为空。假设默认2。- - - >“权重。属性为空。假设默认值为0.00000。- - - >“权重。属性为空。假设默认为0.10000。 -->The "Weights.OutputVariables" property is empty. Assuming default 1.00000.

去除所有通道的输出干扰。

setoutdist (MPCobj“模型”特遣部队(0 (2,1)))

恢复默认输出扰动模型。

setoutdist (MPCobj“集成商”

输入参数

全部折叠

模型预测控制器,指定为MPC控制器对象。要创建MPC控制器,请使用货币政策委员会

自定义输出扰动模型,指定为状态空间(党卫军),传递函数(特遣部队),或零极增益(zpk)模型。MPC控制器将模型转换为离散时间、无延迟、状态空间模型。省略模型或指定模型作为[]就相当于使用setoutdist (MPCobj“集成商”)

输出扰动模型有:

  • 单位方差白噪声输入信号。对于自定义输出扰动模型,输入的数量由您选择。

  • ny输出,ny中是否定义了工厂产出的数量MPCobj.Model.Plant.每个扰动模型的输出都被添加到相应的植物输出中。

该模型与输入扰动模型(如果有的话)一起控制控制器对未测量扰动和建模误差的补偿情况。有关MPC中的扰动建模和状态估计期间使用的模型的更多信息,请参见MPC预测模型而且控制器状态估计

setoutdist不检查自定义输出扰动模型是否违反状态可观察性。这种检查在MPC设计过程的后期执行,当内部状态估计器使用命令构造时sim卡mpcmove.如果控制器状态不是完全可见的,这些命令将生成一个错误。

提示

  • 要查看当前输出扰动模型,请使用getoutdist命令。

版本历史

在R2006a中引入