主要内容

mpcmoveMultiple

计算增益调度MPC控制动作一次

描述

mv= mpcmoveMultiple (MPCArray,,指数,ym,r,v)计算最优操纵变量移动目前使用模型预测控制器由索引数组的MPC控制器。这个结果取决于MPC控制器和控制器中包含的属性状态。结果还取决于测量装置输出,输出引用(定位点),测量扰动输入。mpcmoveMultiple更新控制器状态时使用默认状态估计。调用mpcmoveMultiple反复模拟闭环预测控制模型。

(mv,信息)= mpcmoveMultiple (MPCArray,,指数,ym,r,v)返回关于计算的结构的更多细节。确定最优控制计算正常完成,检查数据信息

(___)= mpcmoveMultiple (___,选项)改变选择控制器设置使用你指定的选项mpcmoveopt。这些更改申请当前时间即时只允许一个命令行仿真使用mpcmoveMultiple模仿的多个MPC控制器在仿真软件金宝app®在计算有效的方式。

输入参数

全部折叠

MPC控制器模拟,指定为一个单元阵列的传统(隐性)MPC控制器对象。使用货币政策委员会命令创建MPC控制器。

所有的控制器MPCArray必须使用默认状态估计或自定义状态估计。不匹配是不允许的。

为每个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,指定为一个正整数。

电流测量输出,指定为一个行向量的长度Nym,在那里Nym是测量输出的数量。如果您正在使用自定义状态估计,ym将被忽略。如果你设置ym=[],然后mpcmoveMultiple使用适当的标称值。

植物输出参考值,指定为一个p——- - - - - -Ny数组,p是选择的控制器和预测地平线Ny是输出的数量。行r(我,:)定义了引用值在步骤预测的地平线。

r必须包含至少一个行。如果r包含少于p行,mpcmoveMultiple重复最后一行来填补p——- - - - - -Ny数组中。如果你供应一行,因此,一个常数参考适用于整个预测地平线。

如果你设置r=[],然后mpcmoveMultiple使用适当的标称值。

实现参考预览,可以改善跟踪参考以一种可预见的方式不同,r必须包含预期的变化,理想p步骤。

当前和预期的测量干扰,指定为一个p——- - - - - -N医学博士数组,p是选择的控制器和预测地平线N医学博士是测量扰动的数量。行v(我,:)在步骤定义预期的测量干扰值预测的地平线。

测量干扰建模提供了前馈控制行动。如果你的工厂模型不包括测量干扰,使用v=[]

v必须包含至少一个行。如果v包含少于p行,mpcmoveMultiple重复最后一行来填补p——- - - - - -N医学博士数组中。如果你供应一行,因此,一个常数测量扰动适用于整个预测地平线。

如果你设置v=[],然后mpcmoveMultiple使用适当的标称值。

实现扰动预览,可以改善跟踪干扰时以一种可预见的方式不同,v必须包含预期的变化,理想p步骤。

覆盖值选择的属性选择MPC控制器,指定为对象创建一个选项mpcmoveopt。这些选项适用于当前mpcmoveMultiple时间瞬间。使用选项收益率相同的结果重新定义或修改所选控制器在每次调用之前mpcmoveMultiple,但涉及大大减少开销。使用选项相当于使用吗多个MPC控制器金宝app模型块结合修改控制器设置可选的输入信号,MV和OV等约束条件。

输出参数

全部折叠

最优操纵变量,返回一个列向量的长度Nmv,在那里Nmv是操纵变量的数量。

如果控制器检测到一个不可行的优化问题或遇到数值困难解决一个坏脾气的优化问题,mv仍然在其最近的成功解决方案,xc.LastMove

否则,如果优化问题是可行的和解决者达到指定的最大数量的迭代没有找到一个最优解,mv:

  • 如果仍然在其最近的成功解决方案Optimizer.UseSuboptimalSolution控制器的属性

  • 是次优的解决方案达成最终的迭代后如果Optimizer.UseSuboptimalSolution控制器的属性真正的。有关更多信息,请参见次优的QP解决方案

解决方案的细节,作为结构与以下字段返回。

预测最优操纵变量调整(移动),作为一个(返回p+ 1)——-Nmv数组,p预测地平线和吗Nmv是操纵变量的数量。

Uopt(我,:)包含了计算最优值时k +张,因为我= 1,…,p,在那里k是当前时间。第一行的Info.Uopt包含相同的操纵变量值作为输出参数mv。由于控制器不计算最优控制移动k + p,:Uopt (p + 1)等于Uopt (p,:)

最优输出变量序列,作为(返回p+ 1)——-Ny数组,p预测地平线和吗Ny是输出的数量。

第一行的Info.Yopt包含计算输出时间k基于估计状态和测量的干扰;这不是测量输出kYopt(我,:)包含预测输出值k +张,因为我= 1,…,p + 1

Yopt(我,:)包含计算输出值k +张,因为我= 2,…,p + 1,在那里k是当前时间。:Yopt (1)计算基于估计状态和测量的干扰。

最优预测模型状态序列,作为(返回p+ 1)——-Nx数组,p预测地平线和吗Nx是在植物的数量和无边无际的扰动模型(不包括州从噪声模型)。

Xopt(我,:)包含计算状态值k +张,因为我= 2,…,p + 1,在那里k是当前时间。:Xopt (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)

  • “不可靠”解算器未能收敛(迭代= 0)。在这种情况下,如果MPCobj.Optimizer.UseSuboptimalSolution,u冻结在最近的成功解决方案。否则,它使用发现在最后的解算器迭代次优的解决方案。

目标函数成本,作为一个负的标量值返回。成本量化程度控制器实现其目标。有关更多信息,请参见优化问题

成本值才有意义QPCode =“可行的”,或者当QPCode =“可行的”MPCobj.Optimizer.UseSuboptimalSolution真正的

提示

版本历史

介绍了R2014b