mpcmoveAdaptive
计算最优控制与预测模型更新
语法
描述
(___)= mpcmoveAdaptive (___,
改变选择控制器设置使用你指定的选项选项
)mpcmoveopt
。这些变化即时申请当前时间,使一个命令行仿真使用mpcmoveAdaptive
模仿的自适应MPC控制器在仿真软件金宝app®在计算有效的方式。
输入参数
mpcobj
- - - - - -MPC控制器
MPC控制器对象
MPC控制器,指定为一个隐式的MPC控制器对象。要创建MPC控制器,使用货币政策委员会
命令。
x
- - - - - -当前MPC控制器状态
mpcstate
对象
当前MPC控制器状态,指定为一个mpcstate
对象。
在你开始之前一个模拟mpcmoveAdaptive
,初始化控制器状态使用x = mpcstate (mpcobj)
。然后,修改默认的属性x
是合适的。
如果您使用的是默认的状态估计,mpcmoveAdaptive
预计x
代表x (n | n - 1)
。的mpcmoveAdaptive
在前面的控制命令更新状态值区间信息。因此,你不应该以编程方式更新x
在所有。默认状态估计使用了一个线性时变卡尔曼滤波器。
如果您正在使用自定义状态估计,mpcmoveAdaptive
预计x
代表x [n | n]
。因此,之前mpcmoveAdaptive
命令,您必须设置x.Plant
,x.Disturbance
,x.Noise
这些国家的最佳估计(使用最新的测量)电流控制区间。
更多信息对状态估计的自适应MPC和时变MPC,明白了状态估计。
植物
- - - - - -更新后的预测模型
离散时间状态空间模型|模型组
更新预测模型,指定为以下之一:
delay-free离散时间状态空间(
党卫军
)模型。这种植物是更新mpcobj.Model.Plant
和它必须:有相同的样本作为控制器;也就是说,
Plant.Ts
必须匹配mpcobj.Ts
有相同的输入和输出信号配置,如类型、顺序,和尺寸吗
定义控制器一样的状态预测模型,
mpcobj.Model.Plant
的数组p+ 1delay-free、离散时间状态空间模型p预测的吗
mpcobj
。使用这个选项来改变控制器预测模型在预测地平线。如果
植物
包含少于p+ 1模型,最后一个模型的重复预测地平线。
提示
如果你使用植物除了delay-free,离散时间状态空间模型来定义的预测模型mpcobj
,你可以将它转换成这样一个模型来确定预测模型结构。
如果原来的工厂 | 然后 |
---|---|
状态空间模型不是一个 | 把它转换成使用状态空间模型党卫军 。 |
一个连续时间模型 | 把它转换成一个离散时间模型和相同的样品时间控制器,mpcobj.Ts ,使用汇集 用默认向前欧拉离散化。 |
一个模型与延迟 | 转换延迟状态使用absorbDelay 。 |
名义上的
- - - - - -更新的名义条件
结构|结构数组|[]
更新的名义条件,指定为以下之一:
的结构有以下字段:
场
描述
默认的
X
植物状态的操作点
[]
U
植物输入操作点,包括操纵变量和测量和不可测量的干扰
[]
Y
植物输出操作点
[]
DX
对于连续时间模型,
DX
是导数在操作点:DX
=f(X
,U
)。对于离散时间模型,DX
=x(k+ 1)-x(k)=f(X
,U
)- - -X
。[]
的数组p+ 1名义条件结构,p预测的吗
mpcobj
。使用这个选项来改变控制器的名义条件预测地平线。如果
名义上的
包含少于p+ 1结构,最后结构重复的预测地平线。
如果名义上的
是空的,[]
,如果一个字段缺失或空的,mpcmoveAdaptive
使用相应的mpcobj.Model.Nominal
价值。
ym
- - - - - -电流测量输出
行向量的长度Nym
电流测量输出,指定为一个行向量的长度Nym向量,Nym是测量输出的数量。
如果您正在使用自定义状态估计,ym
将被忽略。如果你设置ym
=[]
,然后mpcmoveAdaptive
使用适当的标称值。
r
- - - - - -植物输出参考价值
p——- - - - - -Ny数组|[]
植物输出参考值,指定为一个p——- - - - - -Ny数组,p预测的吗mpcobj
和Ny是输出的数量。行r(我,:)
定义了引用值在步骤我预测的地平线。
r
必须包含至少一个行。如果r
包含少于p行,mpcmoveAdaptive
重复最后一行来填补p——- - - - - -Ny数组中。如果你供应一行,因此,一个常数参考适用于整个预测地平线。
如果你设置r
=[]
,然后mpcmoveAdaptive
使用适当的标称值。
实现参考预览,可以改善跟踪参考以一种可预见的方式不同,r
必须包含预期的变化,理想p步骤。
v
- - - - - -当前和预期的测量干扰
p——- - - - - -N医学博士数组|[]
当前和预期的测量干扰,指定为一个p——- - - - - -N医学博士数组,p预测的吗mpcobj
和N医学博士是测量扰动的数量。行v(我,:)
在步骤定义预期的测量干扰值我预测的地平线。
测量干扰建模提供了前馈控制行动。如果你的工厂模型不包括测量干扰,使用v
=[]
。
v
必须包含至少一个行。如果v
包含少于p行,mpcmoveAdaptive
重复最后一行来填补p——- - - - - -N医学博士数组中。如果你供应一行,因此,一个常数测量扰动适用于整个预测地平线。
如果你设置v
=[]
,然后mpcmoveAdaptive
使用适当的标称值。
实现扰动预览,可以改善跟踪干扰时以一种可预见的方式不同,v
必须包含预期的变化,理想p步骤。
选项
- - - - - -覆盖选择控制器的属性值
mpcmoveopt
对象
覆盖值选择的属性mpcobj
,指定为一个选项对象创建mpcmoveopt
。这些选项适用于当前mpcmoveAdaptive
时间瞬间。使用选项
收益率和重新定义或修改相同的结果mpcobj
之前每次调用mpcmoveAdaptive
,但涉及大大减少开销。使用选项
相当于用一个吗自适应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
是真正的
。
版本历史
介绍了R2014b
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。