主要内容

setoutdist

修正未测输出扰动模型

描述

例子

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

例子

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

例子

全部折叠

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

工厂= rss (3, 3, 3);工厂。D = 0;MPCobj = mpc(植物,0.1);
mpc对象的“PredictionHorizon”属性是空的。尝试PredictionHorizon = 10。mpc对象的"ControlHorizon"属性为空。假设2。- - - >“权重。mpc对象的操纵变量属性为空。假设默认的0.00000。- - - >“权重。mpc对象的操控变量率属性为空。假设默认的0.10000。 -->The "Weights.OutputVariables" property of "mpc" object is empty. Assuming default 1.00000.

为每个输出定义干扰模型,使输出干扰为:

  • 通道1是随机白噪声,其大小为2

  • 通道2是随机的步进噪声,其大小为0.5

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

mod1 =特遣部队(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 = = (x1, x2) x3 x1 1 0 0 x2 0 1 0 x3 0 0.1 - 1 B =噪音噪音噪音# 1 # 2 # 3 x1 0 0.05 0 x2 0 0 x3 0 0 0.1 0.005摄氏度= (x1, x2) x3 MO1 0 0 0 MO2 1 0 0 MO3 0 0 1 D =噪音噪音噪音# 1 # 2 # 3 MO1 2 0 0 MO2 0 0 0 MO3 0 0 0样品时间:0.1秒离散时间状态空间模型。

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

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

工厂= rss (3, 3, 3);工厂。D = 0;MPCobj = mpc(植物,0.1);
mpc对象的“PredictionHorizon”属性是空的。尝试PredictionHorizon = 10。mpc对象的"ControlHorizon"属性为空。假设2。- - - >“权重。mpc对象的操纵变量属性为空。假设默认的0.00000。- - - >“权重。mpc对象的操控变量率属性为空。假设默认的0.10000。 -->The "Weights.OutputVariables" property of "mpc" object is empty. Assuming default 1.00000.

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

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

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

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

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

查看输出干扰模型。

特遣部队(getoutdist (MPCobj))
ans = From input“Noise#1”to output…0.1 MO1: ----- z - 1 MO2: 0 MO3: 0从输入“Noise#2”到输出…MO1: 0 MO2: 0 0.1 MO3: ----- z - 1样品时间:0.1秒

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

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

工厂= rss (3, 3, 3);工厂。D = 0;MPCobj = mpc(工厂,1);
mpc对象的“PredictionHorizon”属性是空的。尝试PredictionHorizon = 10。mpc对象的"ControlHorizon"属性为空。假设2。- - - >“权重。mpc对象的操纵变量属性为空。假设默认的0.00000。- - - >“权重。mpc对象的操控变量率属性为空。假设默认的0.10000。 -->The "Weights.OutputVariables" property of "mpc" object is empty. Assuming default 1.00000.

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

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

查看输出干扰模型。

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

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

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

工厂= rss (2 2 2);工厂。D = 0;MPCobj = mpc(植物,0.1);
mpc对象的“PredictionHorizon”属性是空的。尝试PredictionHorizon = 10。mpc对象的"ControlHorizon"属性为空。假设2。- - - >“权重。mpc对象的操纵变量属性为空。假设默认的0.00000。- - - >“权重。mpc对象的操控变量率属性为空。假设默认的0.10000。 -->The "Weights.OutputVariables" property of "mpc" object 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中的干扰建模和状态估计中使用的模型的更多信息,请参见货币政策委员会预测模型控制器状态估计

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

提示

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

介绍了R2006a