mpcmoveMultiple
计算增益调度MPC控制动作一次
语法
描述
(___)= mpcmoveMultiple (___,
改变选择控制器设置使用你指定的选项选项
)mpcmoveopt
。这些更改申请当前时间即时只允许一个命令行仿真使用mpcmoveMultiple
模仿的多个MPC控制器在仿真软件金宝app®在计算有效的方式。
输入参数
MPCArray
- - - - - -MPC控制器
单元阵列的MPC控制器对象
MPC控制器模拟,指定为一个单元阵列的传统(隐性)MPC控制器对象。使用货币政策委员会
命令创建MPC控制器。
所有的控制器MPCArray
必须使用默认状态估计或自定义状态估计。不匹配是不允许的。
州
- - - - - -当前MPC控制器状态
单元阵列的mpcstate
对象
为每个MPC控制器电流控制器状态MPCArray
,指定为一个单元阵列mpcstate
对象。
在你开始之前一个模拟mpcmoveMultiple
,初始化每个控制器状态使用x = mpcstate (MPCobj)
。然后,修改每个州在适当的默认属性。
如果您使用的是默认的状态估计,mpcmoveMultiple
预计x
代表x (n | n - 1)
(x
是一个条目州
,一个MPC控制器的当前状态MPCArray
)。的mpcmoveMultiple
在前面的控制命令更新状态值区间信息。因此,你不应该以编程方式更新x
在所有。默认状态估计量采用稳态卡尔曼滤波器。
如果您正在使用自定义状态估计,mpcmoveMultiple
预计x
代表x [n | n]
。因此,之前mpcmoveMultiple
命令,您必须设置x.Plant
,x.Disturbance
,x.Noise
这些国家的最佳估计(使用最新的测量)电流控制区间。
指数
- - - - - -指数选择控制器
正整数
指数选择单元阵列控制器MPCArray
,指定为一个正整数。
ym
- - - - - -电流测量输出
行向量
电流测量输出,指定为一个行向量的长度Nym,在那里Nym是测量输出的数量。如果您正在使用自定义状态估计,ym
将被忽略。如果你设置ym
=[]
,然后mpcmoveMultiple
使用适当的标称值。
r
- - - - - -植物输出参考价值
数组
植物输出参考值,指定为一个p——- - - - - -Ny数组,p是选择的控制器和预测地平线Ny是输出的数量。行r(我,:)
定义了引用值在步骤我预测的地平线。
r
必须包含至少一个行。如果r
包含少于p行,mpcmoveMultiple
重复最后一行来填补p——- - - - - -Ny数组中。如果你供应一行,因此,一个常数参考适用于整个预测地平线。
如果你设置r
=[]
,然后mpcmoveMultiple
使用适当的标称值。
实现参考预览,可以改善跟踪参考以一种可预见的方式不同,r
必须包含预期的变化,理想p步骤。
v
- - - - - -当前和预期的测量干扰
数组
当前和预期的测量干扰,指定为一个p——- - - - - -N医学博士数组,p是选择的控制器和预测地平线N医学博士是测量扰动的数量。行v(我,:)
在步骤定义预期的测量干扰值我预测的地平线。
测量干扰建模提供了前馈控制行动。如果你的工厂模型不包括测量干扰,使用v
=[]
。
v
必须包含至少一个行。如果v
包含少于p行,mpcmoveMultiple
重复最后一行来填补p——- - - - - -N医学博士数组中。如果你供应一行,因此,一个常数测量扰动适用于整个预测地平线。
如果你设置v
=[]
,然后mpcmoveMultiple
使用适当的标称值。
实现扰动预览,可以改善跟踪干扰时以一种可预见的方式不同,v
必须包含预期的变化,理想p步骤。
选项
- - - - - -覆盖选择控制器的属性值
mpcmoveopt
对象
覆盖值选择的属性选择MPC控制器,指定为对象创建一个选项mpcmoveopt
。这些选项适用于当前mpcmoveMultiple
时间瞬间。使用选项
收益率相同的结果重新定义或修改所选控制器在每次调用之前mpcmoveMultiple
,但涉及大大减少开销。使用选项
相当于使用吗多个MPC控制器金宝app模型块结合修改控制器设置可选的输入信号,MV和OV等约束条件。
输出参数
mv
——最优操纵变量动作
列向量
最优操纵变量,返回一个列向量的长度Nmv,在那里Nmv是操纵变量的数量。
如果控制器检测到一个不可行的优化问题或遇到数值困难解决一个坏脾气的优化问题,mv
仍然在其最近的成功解决方案,xc.LastMove
。
否则,如果优化问题是可行的和解决者达到指定的最大数量的迭代没有找到一个最优解,mv
:
如果仍然在其最近的成功解决方案
Optimizer.UseSuboptimalSolution
控制器的属性假
。是次优的解决方案达成最终的迭代后如果
Optimizer.UseSuboptimalSolution
控制器的属性真正的
。有关更多信息,请参见次优的QP解决方案。
信息
——解决方案细节
结构
解决方案的细节,作为结构与以下字段返回。
Uopt
——最优操纵变量序列
(p+ 1)——-Nmv数组
预测最优操纵变量调整(移动),作为一个(返回p+ 1)——-Nmv数组,p预测地平线和吗Nmv是操纵变量的数量。
Uopt(我,:)
包含了计算最优值时k +张
,因为我= 1,…,p
,在那里k
是当前时间。第一行的Info.Uopt
包含相同的操纵变量值作为输出参数mv
。由于控制器不计算最优控制移动k + p
,:Uopt (p + 1)
等于Uopt (p,:)
。
Yopt
——最优输出变量序列
(p+ 1)——-Ny数组
最优输出变量序列,作为(返回p+ 1)——-Ny数组,p预测地平线和吗Ny是输出的数量。
第一行的Info.Yopt
包含计算输出时间k
基于估计状态和测量的干扰;这不是测量输出k
。Yopt(我,:)
包含预测输出值k +张
,因为我= 1,…,p + 1
。
Yopt(我,:)
包含计算输出值k +张
,因为我= 2,…,p + 1
,在那里k
是当前时间。:Yopt (1)
计算基于估计状态和测量的干扰。
Xopt
——最优预测模型状态序列
(p+ 1)——-Nx数组
最优预测模型状态序列,作为(返回p+ 1)——-Nx数组,p预测地平线和吗Nx是在植物的数量和无边无际的扰动模型(不包括州从噪声模型)。
Xopt(我,:)
包含计算状态值k +张
,因为我= 2,…,p + 1
,在那里k
是当前时间。:Xopt (1)
是一样的当前状态的状态值。
Topt
——时间间隔
列向量的长度p+ 1
时间间隔,返回一个列向量的长度p+ 1。Topt (1)
= 0,表示当前时间。随后的时间步长Topt(我)
是由Ts *(张)
,在那里Ts = MPCobj.Ts
是控制器样品时间。
使用Topt
当策划Uopt
,Xopt
,或Yopt
序列。
松弛
- - - - - -松弛变量
负的标量
松弛变量,ε,用于约束软化,返回0
或积极的标量值。
ε= 0 -所有的约束条件都满足整个预测地平线。
ε> 0 -至少一个软约束违反。当多个约束违反,ε表示最坏的软约束违反(由每个约束你的ECR值缩放)。
看到优化问题为更多的信息。
迭代
——迭代解算器的数量
正整数|0
|1
|2
返回的求解迭代,数量为以下之一:
正整数——需要解决优化问题的迭代次数决定最优序列。
0
——优化问题不能解决在指定的最大迭代次数。1
——优化问题是不可行的。一个优化问题是不可行的,如果没有解决方案可以满足所有的硬约束。2
-数值错误发生在解决优化问题。
QPCode
——优化解决方案状态
“可行的”
|“不可行”
|“unrealiable”
优化解决方案状态,返回以下之一:
“可行的”
获得了最优解(迭代
> 0)“不可行”
解算器检测到一个问题没有可行解(迭代
= 1)或一个数值错误发生(迭代
= 2)“不可靠”
解算器未能收敛(迭代
= 0)。在这种情况下,如果MPCobj.Optimizer.UseSuboptimalSolution
是假
,u
冻结在最近的成功解决方案。否则,它使用发现在最后的解算器迭代次优的解决方案。
成本
——目标函数成本
负的标量
目标函数成本,作为一个负的标量值返回。成本量化程度控制器实现其目标。有关更多信息,请参见优化问题。
成本值才有意义QPCode =“可行的”
,或者当QPCode =“可行的”
和MPCobj.Optimizer.UseSuboptimalSolution
是真正的
。
提示
使用多个MPC控制器金宝app仿真软件模拟和生成代码块。
版本历史
介绍了R2014b
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。