getEstimator
得到卡尔曼增益和用于估计器设计的模型
语法
描述
例子
提取状态估计参数
该设备是一个稳定的、离散的LTI状态空间模型,具有四个状态、三个输入和三个输出。被操作的变量是输入1和2。输入3是一个不可测量的扰动。测量输出1和3。输出2是未测量的。
创建一个工厂模型,并指定MPC的信号。
rng (1253)%用于可重复的结果植物= drss(4,3,3);工厂。Ts = 0.25;植物= setmpcsignals(植物,“MV”(1、2),“UD”3,“莫”3 [1],“UO”2);Plant.d(:,[1,2]) = 0;
最后一个命令迫使电厂满足无直接馈通的假设。
计算该装置的默认模型预测控制器。
MPCobj = mpc(植物);
——>“PredictionHorizon”属性为空。假设默认为10。“ControlHorizon”属性为空。假设默认2。- - - >“权重。米一个nipulatedVariables" property is empty. Assuming default 0.00000. -->The "Weights.ManipulatedVariablesRate" property is empty. Assuming default 0.10000. -->The "Weights.OutputVariables" property is empty. Assuming default 1.00000. for output(s) y1 y3 and zero weight for output(s) y2
获取用于状态估计的参数。
[L,M,A,Cm,Bu,Bv,Dvm] = getEstimator(MPCobj);
——>”模式。Disturbance" property is empty: Assuming unmeasured input disturbance #3 is integrated white noise. -->Assuming output disturbance added to measured output channel #1 is integrated white noise. Assuming no disturbance added to measured output channel #3. -->The "Model.Noise" property is empty. Assuming white noise on each measured output.
在估计量状态方程的基础上,由的特征值给出估计量极点A - L*Cm
.计算并显示极点。
极点= eig(A - L*Cm)
波兰人=6×1-0.7467 -0.5019 0.0769 0.4850 0.8825 0.8291
确认默认估计量是渐近稳定的。
马克斯(abs(波兰))
Ans = 0.8825
这个值小于1,所以估计量是渐近稳定的。
在这种情况下验证,L = a * m
.
L - a * m
ans =6×210-15年× -0.0555 -0.1249 -0.0278 -0.0555 -0.1665 -0.0139 0.0139 0.0069 -0.0139 0.0833 0.0555 0.2220
输出参数
l
-卡尔曼增益矩阵用于时间更新
矩阵
卡尔曼增益矩阵为时间更新,以矩阵形式返回。的维度l
是nx——- - - - - -nym,在那里nx控制器状态的总数,和nym是测量输出的数量。
米
-卡尔曼增益矩阵测量更新
矩阵
卡尔曼增益矩阵用于测量更新,以矩阵形式返回。的维度l
是nx——- - - - - -nym,在那里nx控制器状态的总数,和nym是测量输出的数量。
厘米,布鲁里溃疡、Bv、数字式电压表
-系统矩阵
矩阵
用于计算估计器增益的系统矩阵,作为不同维度的矩阵返回。有关这些系统矩阵的定义,请参见状态估计方程.
指数
-变量在模型中的位置
结构
的输入和输出中变量的位置模型
.该结构用以下字段和值总结了这些位置。
字段名 | 价值 |
---|---|
ManipulatedVariables |
的输入向量中被操纵变量的索引模型 . |
MeasuredDisturbances |
的输入矢量内测量的输入扰动的指数模型 . |
抵消 |
的输入向量内常数输入1的索引模型 . |
WhiteNoise |
的输入向量内未测量扰动输入的指数模型 . |
MeasuredOutputs |
的输出向量内的测量输出的指标模型 . |
UmeasuredOutputs |
的输出向量内未测量输出的指标模型 . |
算法
状态估计方程
一般来说,控制器状态是不可测量的,必须进行估计。默认情况下,控制器使用来自状态观测器的稳态卡尔曼滤波器。有关更多信息,请参见控制器状态估计.
开始的时候k在控制区间内,按以下步骤估计控制器状态:
准备以下数据:
xc(k|k- 1) -控制器状态估计从以前的控制间隔,k1
u行为(k- 1) -实际用于工厂的操纵变量(MV)k1到k(假定常数)
u选择(k- 1) - MPC推荐的最佳MV,假定用于工厂k1到k
v(k) -电流测量扰动
y米(k) -电流测量装置输出
Bu,Bv—观察者参数列B对应于u(k),v(k)输入
C米-观测器参数C行对应测量的工厂输出
Dmv—观察器参数行和列D与测量的植物输出和测量的干扰输入相对应
l,米-常数卡尔曼增益矩阵
在计算中使用之前,植物输入和输出信号被缩放到无量纲。
修改xc(k|k1)当u行为(k1)和u选择(k-1)是不同的。
计算创新。
更新控制器状态估计,以考虑最新的测量结果。
然后,软件使用当前状态估计xc(k|k)求解区间二次规划k.解决办法是u选择(k),即mpc建议在控制间隔之间使用的操纵变量值k而且k+ 1。
最后,软件为下一个控制区间做准备,假设未知输入,wid(k),wod(k),wn(k)假设它们在时间之间的平均值(零)k而且k+ 1。该软件预测已知输入和创新的影响如下:
版本历史
在R2014b中引入
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国家站点没有针对您所在位置的访问进行优化。