setoutdist
修正未测输出扰动模型
描述
例子
使用传递函数指定输出扰动模型
定义一个没有直接馈通的工厂模型,并为该工厂创建一个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“集成商”)
输入参数
MPCobj
- - - - - -模型预测控制器
MPC控制器对象
模型预测控制器,指定为MPC控制器对象。要创建MPC控制器,请使用货币政策委员会
.
模型
- - - - - -自定义输出扰动模型
[]
(默认)|党卫军
对象|特遣部队
对象|zpk
对象
自定义输出扰动模型,指定为状态空间(党卫军
),传递函数(特遣部队
),或零极增益(zpk
)模型。MPC控制器将模型转换为离散时间、无延迟、状态空间模型。省略模型
或指定模型
作为[]
就相当于使用setoutdist (MPCobj“集成商”)
.
输出扰动模型有:
单位方差白噪声输入信号。对于自定义输出扰动模型,输入的数量由您选择。
ny输出,ny中是否定义了工厂产出的数量
MPCobj.Model.Plant
.每个扰动模型的输出都被添加到相应的植物输出中。
该模型与输入扰动模型(如果有的话)一起控制控制器对未测量扰动和建模误差的补偿情况。有关MPC中的扰动建模和状态估计期间使用的模型的更多信息,请参见MPC预测模型而且控制器状态估计.
setoutdist
不检查自定义输出扰动模型是否违反状态可观察性。这种检查在MPC设计过程的后期执行,当内部状态估计器使用命令构造时sim卡
或mpcmove
.如果控制器状态不是完全可见的,这些命令将生成一个错误。
提示
要查看当前输出扰动模型,请使用
getoutdist
命令。
版本历史
在R2006a中引入
Abrir比如
Tiene una versión modificada de este ejemplo。¿Desea abrir este ejemplo con sus modificaciones?
MATLAB突击队
Ha hecho clic en unenlace que对应一个este commando de MATLAB:
弹射突击队introduciéndolo en la ventana de commandos de MATLAB。Los navegadores web no permission comandos de MATLAB。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。