主要内容

货币政策委员会

模型预测控制器

描述

模型预测控制器使用线性装置、扰动和噪声模型来估计控制器状态并预测未来装置输出。该控制器利用预测对象输出,求解二次规划优化问题以确定控制动作。

有关模型预测控制器结构的更多信息,请参见MPC预测模型

创建

描述

mpcobj= mpc (植物基于离散时间预测模型创建模型预测控制器对象植物.控制器,mpcobj,继承其控制间隔工厂。Ts的时间单位工厂。TimeUnit.所有其他控制器属性都是默认值。创建MPC控制器后,可以使用点表示法设置其属性。

如果工厂。Ts=-1,则必须设置Ts属性在设计和模拟控制器之前将控制器设置为正值。

mpcobj= mpc (植物ts基于指定的工厂模型创建模型预测控制器,并设置Ts属性。如果植物是:

  • 一种连续时间模型,然后控制器利用采样时间离散模型进行预测ts

  • 一个具有指定采样时间的离散时间模型,控制器利用采样时间对工厂进行重新采样以进行预测ts

  • 样本时间不确定的离散时间模型(工厂。Ts1),则继承采样时间ts用于预测时

例子

mpcobj= mpc (植物tsPWMV机汇DV指定以下控制器属性。如果省略其中任何值或为空,则应用默认值。

  • P设置PredictionHorizon财产。

  • 设置ControlHorizon财产。

  • W设置权重财产。

  • MV设置ManipulatedVariables财产。

  • 机汇设置OutputVariables财产。

  • DV设置DisturbanceVariables财产。

mpcobj= mpc (模型基于指定的预测模型集创建模型预测控制器对象,其中包括工厂、输入扰动和测量噪声模型以及获得模型的标称条件。当你不指定采样时间时,植物模型,模型。植物,一定是离散时间模型。此语法设置模型属性。

mpcobj= mpc (模型ts基于指定的工厂模型创建模型预测控制器,并设置Ts属性ts.如果模型。植物为样本时间不确定的离散LTI模型(model.Plant.Ts1),则继承采样时间ts当用于预测时。

mpcobj= mpc (模型tsPWMV机汇DV指定附加控制器属性。如果省略其中任何值或为空,则应用默认值。

输入参数

全部展开

植物预测模型,指定为LTI模型或线性系统识别工具箱™模型。指定的植物对应于模型。植物属性。

如果在创建控制器时没有指定采样时间,植物一定是离散时间模型。

有关MPC预测模型的更多信息,请参见MPC预测模型

请注意

直接馈通从操纵变量的任何输出植物不支持。金宝app

的格式指定为结构的预测模型模型属性。如果在创建控制器时没有指定采样时间,模型。植物一定是离散时间模型。

有关MPC预测模型的更多信息,请参见MPC预测模型

属性

全部展开

控制器采样时间,指定为正的有限标量。该控制器采用带有采样时间的离散时间模型Ts为预测。

预测水平步长,指定为正整数。的乘积PredictionHorizon而且Ts为预测时间;也就是说,控制器对未来的展望有多远。

控制水平,指定为下列之一:

  • 正整数,之间,1而且p,包括,其中p等于PredictionHorizon.在这种情况下,控制器进行计算自由控制动作时有发生k通过k+-1,并保持从剩下的预测水平步长的控制器输出不变k+通过k+p1。在这里,k当前控制间隔。

  • 正整数向量[12,…],指定阻塞间隔的长度。默认情况下,控制器进行计算方块的自由移动,其中是阻塞间隔的个数。第一个自由动作适用于时代k通过k+1-1,第二次自由移动适用于时间k+1通过k+1+2-1,等等。使用块移动可以提高控制器的鲁棒性。中的值的和ControlHorizon必须与预测水平相匹配p.如果你指定一个向量,它的和是:

    • 小于预测水平,则控制器增加一个阻塞间隔。这个区间的长度使得区间长度之和为p.例如,如果p10你指定一个控制视界ControlHorizon[1 2 3],则控制器使用四个具有长度的间隔[1 2 3 4]

    • 大于预测水平,则间隔被截断,直到间隔长度的和等于p.例如,如果p10你指定一个控制视界ControlHorizon[1 2 3 6 7],则控制器使用四个具有长度的间隔[1 2 3 4]

    有关操纵变量阻塞的更多信息,请参见操纵变量阻塞

预测模型和标称条件,指定为具有以下字段的结构。有关MPC预测模型的更多信息,请参见MPC预测模型而且控制器状态估计

植物预测模型,指定为LTI模型或线性系统识别工具箱模型。

请注意

直接馈通从操纵变量的任何输出植物不支持。金宝app

描述预期的不可测扰动的模型,指定为LTI模型。该模型仅在设备存在不可测量的干扰时才需要。可以直接使用点表示法或使用setindist函数。

默认情况下,输入干扰被认为是集成白噪声。为了对信号建模,对每个未测量的输入扰动添加一个具有无因次单位增益的积分器,除非添加导致控制器失去状态可观测性。在这种情况下,扰动预计是白噪声,因此,一个无量纲的单位增益被添加到该信道。

描述预期输出测量噪声的模型,指定为LTI模型。

缺省情况下,测量噪声被期望为单位方差的白噪声。为了对信号进行建模,为每个测量通道添加一个无量纲单位增益。

工厂模型线性化的标称工作点,指定为具有以下字段的结构。

描述 默认的
X

在工作点上的植物状态,指定为列向量,其长度等于在工作点上的状态数模型。植物

零向量
U

装置在工作点的输入,包括操作变量和测量的和未测量的干扰,指定为列向量,其长度等于输入的数量模型。植物

零向量
Y

设备在工作点的输出,包括测量和未测量的输出,指定为列向量,其长度等于在工作点的输出数模型。植物

零向量
DX

对于连续时间模型,DX为工作点的状态导数:DXfXU).对于离散时间模型,DXxk+ 1) -xk) =fXU)-X.指定DX作为列向量,其长度等于中的状态数模型。植物

零向量

的结构数组指定的被操纵变量(MV)信息、边界和比例因子Nmv元素,Nmv是被操纵变量的数量。要访问此属性,可以使用别名MV而不是ManipulatedVariables

请注意

费率参照差价Δuk) =uk)-uk1)。基于导数的约束和权重du / dt的连续时间输入信号必须正确地重新制定的离散时间差异Δuk),使用近似du / dt≅Δuk) /T年代

每个结构元素都有以下字段。

MV的下界,指定为标量或向量。默认情况下,这个下界是不受约束的。

若要在预测范围内使用相同的边界,请指定一个标量值。

随时间变化预测范围的范围k时间k+p-1,指定一个到的向量p值。在这里,k当前时间和p是预测视界。如果你指定小于p值时,最终边界用于预测范围的其余步骤。

MV的上界,指定为标量或向量。默认情况下,这个上限是无约束的。

若要在预测范围内使用相同的边界,请指定一个标量值。

随时间变化预测范围的范围k时间k+p-1,指定一个到的向量p值。在这里,k当前时间和p是预测视界。如果你指定小于p值时,最终边界用于预测范围的其余步骤。

MV下界柔软性,其中较大的相等关注松弛(ECR值)表示较软的约束,指定为非负标量或向量。默认情况下,MV下界是硬约束。

要在整个预测范围内使用相同的ECR值,请指定一个标量值。

在预测范围内随时间变化ECR值k时间k+p-1,指定一个到的向量p值。在这里,k当前时间和p是预测视界。如果你指定小于p值时,最终的ECR值用于预测范围的其余步骤。

MV上限柔软性,其中较大的相等关注松弛(ECR值)表示较软的约束,指定为非负标量或向量。默认情况下,MV上界是硬约束。

要在整个预测范围内使用相同的ECR值,请指定一个标量值。

在预测范围内随时间变化ECR值k时间k+p-1,指定一个到的向量p值。在这里,k当前时间和p是预测视界。如果你指定小于p值时,最终的ECR值用于预测范围的其余步骤。

MV变化率下限,用非正标量或向量表示。MV变化率定义为MVk) - - -MVk1),k是当前时间。默认情况下,这个下界是不受约束的。

若要在预测范围内使用相同的边界,请指定一个标量值。

随时间变化预测范围的范围k时间k+p-1,指定一个到的向量p值。在这里,k当前时间和p是预测视界。如果你指定小于p值时,最终边界用于预测范围的其余步骤。

MV变化率的上限,指定为非负的标量或向量。MV变化率定义为MVk) - - -MVk1),k是当前时间。默认情况下,这个下界是不受约束的。

若要在预测范围内使用相同的边界,请指定一个标量值。

随时间变化预测范围的范围k时间k+p-1,指定一个到的向量p值。在这里,k当前时间和p是预测视界。如果你指定小于p值时,最终边界用于预测范围的其余步骤。

MV变化率下界柔软性,其中较大的相等关注松弛(ECR值)表示较软的约束,指定为非负的有限标量或向量。默认情况下,MV变化率的下界是硬约束。

要在整个预测范围内使用相同的ECR值,请指定一个标量值。

在预测范围内随时间变化ECR值k时间k+p-1,指定一个到的向量p值。在这里,k当前时间和p是预测视界。如果你指定小于p值,最终的ECR值用于预测范围的其余步骤。

MV变化率上限柔软性,其中较大的相等关注松弛(ECR值)表示较软的约束,指定为非负的有限标量或向量。默认情况下,MV变化率上界是硬约束。

要在整个预测范围内使用相同的ECR值,请指定一个标量值。

在预测范围内随时间变化ECR值k时间k+p-1,指定一个到的向量p值。在这里,k当前时间和p是预测视界。如果你指定小于p值,最终的ECR值用于预测范围的其余步骤。

MV名称,指定为字符串或字符向量。

MV单位,指定为字符串或字符向量。

MV比例因子,指定为正的有限标量。一般情况下,使用被操纵变量的操作范围。指定适当的比例因子可以改善优化的数值调节。有关更多信息,请参见指定比例因子

MV类型,指定为:

  • “连续”—表示被操作的变量是连续的。

  • “二元”-这限制被操纵的变量为0或1。

  • “整数”—将被操作的变量限制为整数。

  • 包含所有可能值的向量——例如,这将操作变量限制为指定的值mpcobj.MV (1) .Type =[1 0、0.5、1、2);

缺省情况下,类型为“连续”

有关更多信息,请参见离散控制集MPC

的结构数组指定的输出变量(OV)信息、边界和比例因子Ny元素,Ny是输出变量的个数。要访问此属性,可以使用别名机汇而不是OutputVariables

每个结构元素都有以下字段。

OV的下界,指定为标量或向量。默认情况下,这个下界是不受约束的。

若要在预测范围内使用相同的边界,请指定一个标量值。

随时间变化预测范围的范围k+1到时间k+p,指定到的向量p值。在这里,k当前时间和p是预测视界。如果你指定小于p值时,最终边界用于预测范围的其余步骤。

OV上限,指定为标量或向量。默认情况下,这个上限是无约束的。

若要在预测范围内使用相同的边界,请指定一个标量值。

随时间变化预测范围的范围k+1到时间k+p,指定到的向量p值。在这里,k当前时间和p是预测视界。如果你指定小于p值时,最终边界用于预测范围的其余步骤。

OV下界柔软性,其中较大的相等关注松弛(ECR值)表示较软的约束,指定为非负的有限标量或向量。默认情况下,OV上界是软约束。

为了避免在运行时产生不可行的优化问题,最好使用软OV边界。

要在整个预测范围内使用相同的ECR值,请指定一个标量值。

在预测范围内随时间变化ECR值k+1到时间k+p,指定到的向量p值。在这里,k当前时间和p是预测视界。如果你指定小于p值时,最终的ECR值用于预测范围的其余步骤。

OV上限柔软性,其中较大的相等关注松弛(ECR值)表示较软的约束,指定为非负的有限标量或向量。默认情况下,OV下界是软约束。

为了避免在运行时产生不可行的优化问题,最好使用软OV边界。

要在整个预测范围内使用相同的ECR值,请指定一个标量值。

在预测范围内随时间变化ECR值k+1到时间k+p,指定到的向量p值。在这里,k当前时间和p是预测视界。如果你指定小于p值时,最终的ECR值用于预测范围的其余步骤。

OV名称,指定为字符串或字符向量。

OV单位,指定为字符串或字符向量。

OV尺度因子,指定为正的有限标量。一般情况下,使用输出变量的操作范围。指定适当的比例因子可以改善优化的数值调节。有关更多信息,请参见指定比例因子

扰动变量(DV)信息和比例因子,指定为具有的结构数组Nd元素,Nd是测量的和未测量的扰动输入的总数。内部扰动信号的顺序DisturbanceVariables以下是:第一个N医学博士最后一项与测量的输入扰动有关Nud条目与未测量的输入干扰有关。

要访问此属性,可以使用别名DV而不是DisturbanceVariables

每个结构元素都有以下字段。

DV名称,指定为字符串或字符向量。

OV单位,指定为字符串或字符向量。

DV尺度因子,指定为正的有限标量。指定适当的比例因子可以改善优化的数值调节。有关更多信息,请参见指定比例因子

标准成本函数调优权重,指定为结构。控制器将这些权重应用于缩放的变量。因此,调优权重是无量纲值。

的格式OutputWeights必须匹配的格式权重。OutputVariables属性。例如,您不能在控制器对象的预测范围内指定恒定权重,然后使用指定时变权重mpcmoveopt

权重具有以下字段。这些字段的值取决于您使用的是标准成本函数还是替代成本函数。有关这些成本函数的更多信息,请参见优化问题

操纵的可变调优权重,用于惩罚偏离MV目标的偏差,指定为行向量或非负值数组。所有操作变量的默认权重为0

若要在整个预测范围内使用相同的权重,请指定长度的行向量Nmv,在那里Nmv是被操纵变量的数量。

在预测范围内随时间变化调整权重k时间k+p-1,指定数组Nmv列和至p行。在这里,k当前时间和p是预测视界。每行包含一个预测水平步的操纵变量调优权重。如果你指定小于p行,最后一行中的权重用于预测范围的其余步骤。

如果使用替代成本函数,请指定权重。米anipulatedVariables控件的单元格数组Nmv——- - - - - -NmvRu矩阵。例如,mpcobo . weights . manipulatedvariables = {Ru}Ru一定是正的半定矩阵。改变Ru不支持跨预测水平的矩阵。金宝app有关更多信息,请参见替代成本函数

操纵的可变速率调优权重,用于惩罚控制移动中的较大变化,指定为行向量或非负值数组。所有被操纵的可变利率的默认权重为0.1

若要在整个预测范围内使用相同的权重,请指定长度的行向量Nmv,在那里Nmv是被操纵变量的数量。

在预测范围内随时间变化调整权重k时间k+p-1,指定数组Nmv列和至p行。在这里,k当前时间和p是预测视界。每行包含一个预测水平步骤的操纵变量率调优权重。如果你指定小于p行,最后一行中的权重用于预测范围的其余步骤。

请注意

使用非零操纵的可变率权重是最佳实践。

为了提高优化问题的数值鲁棒性,软件添加了数量10 * sqrt (eps)到每个零值权重。

请注意

使用非零操纵的可变率权重是最佳实践。如果所有操纵的变量率权重都是严格正的,那么所得到的QP问题是严格凸的。如果某些权重为零,则QP黑森可以是正半定的。为了保持QP问题的严格凸性,当条件数为Hessian矩阵时KΔU大于1012,数量10 * sqrt (eps)加到每一对角线项上。看到成本函数

如果使用替代成本函数,请指定权重。米anipulatedVariablesRate控件的单元格数组Nmv——- - - - - -NmvRΔu矩阵。例如,mpcobo . weights . manipulatedvariablesrate = {Rdu}RΔu一定是正的半定矩阵。改变RΔu不支持跨预测水平的矩阵。金宝app有关更多信息,请参见替代成本函数

输出变量调优权重,用于惩罚与输出引用的偏差,指定为行向量或非负值数组。所有输出变量的默认权重为1

若要在整个预测范围内使用相同的权重,请指定长度的行向量Ny,在那里Ny是输出变量的个数。

在预测范围内随时间变化调整权重k+1到时间k+p,指定数组Ny列和至p行。在这里,k当前时间和p是预测视界。每行包含一个预测水平步的输出变量调优权重。如果你指定小于p行,最后一行中的权重用于预测范围的其余步骤。

如果使用替代成本函数,请指定权重。OutputVariables控件的单元格数组Ny——- - - - - -Ny矩阵。例如,mpcobo . weights . outputvariables = {Q}一定是正的半定矩阵。改变不支持跨预测水平的矩阵。金宝app有关更多信息,请参见替代成本函数

松弛变量调优权重,指定为正标量。增加或减少同等关注松弛(ECR)权重,分别使所有软约束更硬或更软。

QP优化参数,指定为具有以下字段的结构。前四个领域,算法ActiveSetOptionsInteriorPointOptions而且MixedIntegerOptions,都与内置求解器有关。如果您选择使用自定义求解器进行模拟(通过设置CustomSolver真正的)这四个字段在模拟时被忽略。同样,如果您选择使用自定义求解器进行代码生成(通过设置CustomSolverCodeGen真正的)这四个字段在代码生成时被忽略。

有关支持的QP求解器的更多信息,请参见金宝appQP解决者

QP求解算法,指定为以下之一:

  • “激活集”—使用KWIK active-set算法解决QP问题。

  • “内点”-使用带Mehrotra预测-校正器的原对偶内点算法解决QP问题。

对于需要解决QP问题的应用程序,还可以使用mpcActiveSetSolver而且mpcInteriorPointSolver函数,分别。

主动设置QP求解器设置,指定为结构。这些设置仅适用于算法“激活集”,以及类型所有被操纵变量的属性为“连续”

您可以指定以下活动设置优化器设置。

计算QP解决方案时允许的最大迭代次数,指定为以下之一:

  • “默认”—MPC控制器自动计算QP求解器迭代的最大次数为 4 n c + n v ,地点:

    • nc是横跨预测范围的约束的总数。

    • nv是控制范围内优化变量的总数。

    默认的MaxIterations值的下界为120

  • 正整数——QP求解器在指定的迭代次数后停止。如果求解器在最终迭代中未能收敛,则控制器:

    • 冻结控制器移动,如果UseSuboptimalSolution

    • 应用最终迭代后得到的次优解UseSuboptimalSolution真正的

请注意

默认的MaxIterations对于某些控制器配置,例如具有较大预测和控制范围的控制器配置,值可能非常大。在模拟这类控制器时,如果QP求解器无法找到可行的解,则模拟可能会出现停止响应,因为求解器会继续搜索MaxIterations迭代。

公差用于验证不等式约束被最优解满足,指定为正标量。一个更大的ConstraintTolerance值允许更大的约束违反。

指示是否温暖的开始每次QP求解器迭代,通过传入前一次迭代的活动不等式列表,指定为逻辑值。当相等的部分为真时,不等式是有效的。

内点QP求解器设置,指定为结构。这些设置仅适用于算法“内点”,以及类型所有被操纵变量的属性为“连续”

您可以指定以下内部点优化器设置。

计算QP解决方案时允许的最大迭代次数,指定为正整数。QP求解器在指定的迭代次数后停止。如果求解器在最终迭代中未能收敛,则控制器:

  • 冻结控制器移动,如果UseSuboptimalSolution

  • 应用最终迭代后得到的次优解UseSuboptimalSolution真正的

公差用于验证最优解满足等式和不等式约束,指定为正标量。一个更大的ConstraintTolerance值允许更大的约束违反。

一阶最优性(KKT双残差)的终止容差,指定为正标量。

一阶最优性的终止容差(KKT平均互补残差),指定为正标量。增加这个值可以提高健壮性,而减少这个值可以提高准确性。

决策变量的终止容差,指定为正标量。

混合整数QP求解器设置,指定为结构。此设置适用于任何被操作的变量类型不属于“连续”.在这种情况下,使用了内置的混合整数KWIK算法,实现了分支和绑定方法。

您可以指定以下混合整数QP优化器设置。

计算混合整数QP解决方案时允许的最大迭代数,指定为正整数。混合整数QP求解器在指定的迭代次数后停止。如果求解器在最终迭代中未能收敛,则控制器:

  • 冻结控制器移动,如果UseSuboptimalSolution

  • 应用最终迭代后得到的次优解UseSuboptimalSolution真正的

公差用于验证最优解满足等式和不等式约束,指定为正标量。一个更大的ConstraintTolerance值允许更大的约束违反。

公差用于验证离散操作变量中的约束被最优解满足,指定为正标量。一个更大的DiscreteConstraintTolerance值允许更大的约束违反。

标志,以在根节点上舍入解决方案,作为布尔值指定。当RoundingAtRootNode1时,求解器对在搜索树的根节点上求解的松弛QP问题的解进行舍入,从而满足离散约束。然后,针对剩余的(连续的)变量,求解一个附加的QP。如果这样的QP存在可行解,则将相应的代价作为原始混合整数问题最优解的有效上限。拥有这样的上界可能会在求解器的其余执行中消除整个子树,并加速以下QP松弛的求解。除非迭代次数MaxIterations是渺小,就值得设定吗RoundingAtRootNode1.否则,设置RoundingAtRootNode0避免解决额外的QP。

这是可以存储的待定QP松弛的最大数量。它决定了分配给存储所有未决QP松弛的内存,这与(2*成正比+ 3 *Nd) *MaxPendingNodes,在那里不等式的个数是多少Nd是离散变量的个数。如果挂起的放松数量超过MaxPendingNodes然后用状态码停止求解器345

允许输出约束相等关注松弛(ECR)值的最小值,指定为非负标量。值为0表示允许硬输出约束。如果其中任何一个OutputVariables。MinECROutputVariables。MaxECRMPC控制器的特性小于MinOutputECR时,显示警告,并将值提升为MinOutputECR在计算。

标志,指示次优解决方案是否可接受,指定为逻辑值。当QP求解器达到最大迭代次数而没有找到解决方案时(退出标志为0),控制器:

  • 如果冻结MV值UseSuboptimalSolution

  • 应用求解器在最后迭代后发现的次优解,如果UseSuboptimalSolution真正的

的值指定最大迭代次数算法,使用ActiveSetOptions。MaxIterationsInteriorPointOptions。MaxIterations

标志,指示是否使用自定义QP求解器进行模拟,指定为逻辑值。如果CustomSolver真正的时,用户必须提供mpcCustomSolverMATLAB函数®路径。

此自定义求解器不用于代码生成。要使用自定义求解器为控制器生成代码,请使用CustomSolverCodeGen

如果CustomSolver真正的,控制器不需要自定义解算器来实现其中的设置ActiveSetOptionsInteriorPointOptions

你也可以使用这个函数setCustomSolver自动配置mpcobj的active-set算法quadprog(优化工具箱)作为模拟和代码生成的自定义QP求解器。

有关使用自定义QP求解器的更多信息,请参阅,QP解决者

标志,指示是否使用自定义QP求解器进行代码生成,指定为逻辑值。如果CustomSolverCodeGen真正的时,用户必须提供mpcCustomSolverCodeGen函数的MATLAB路径。

此自定义求解器不用于模拟。要使用自定义求解器模拟控制器,请使用CustomSolver

你也可以使用这个函数setCustomSolver自动配置mpcobj的active-set算法quadprog(优化工具箱)作为模拟和代码生成的自定义QP求解器。

有关使用自定义QP求解器的更多信息,请参阅,QP解决者

与MPC控制器相关联的用户注释,指定为字符向量的单元格数组。

与MPC控制器相关联的用户数据,指定为任何MATLAB数据,例如单元数组或结构。

此属性是只读的。

控制器创建日期和时间,指定为具有以下元素的向量:

  • (1)历史

  • (2)历史每月

  • (3)历史

  • (4)历史- - - - - -小时

  • (5)历史- - - - - -分钟

  • (6)历史- - - - - -秒

对象的功能

审查 检查MPC控制器的设计错误和运行时的稳定性问题
mpcmove 计算最优控制动作并更新控制器状态
sim卡 用线性装置在闭环中模拟MPC控制器
mpcstate MPC控制器状态
getCodeGenerationData 创建数据结构mpcmoveCodeGeneration
generateExplicitMPC 将隐式MPC控制器转换为显式MPC控制器

例子

全部折叠

创建带有传递函数的植物模型 年代 + 1 / 年代 2 + 2 年代

Plant = tf([1 1],[1 20 0]);

该设备是SISO,因此它的输入必须是一个被操纵的变量,它的输出必须是测量的。方法指定所有的植物信号类型是一种良好的实践setmpcsignals或LTIInputGroup而且OutputGroup属性。

指定控制器的采样时间。

Ts = 0.1;

定义被操纵变量的边界, u ,以致于 - 1 u 1

MV = struct(“最小值”, 1“马克斯”1);

MV只包含被操纵变量的上界和下界。一般来说,您可以指定额外的MV属性。如果不指定其他属性,则应用它们的默认值。

指定20个区间的预测水平和3个区间的控制水平。

P = 20;M = 3;

使用指定的值创建MPC控制器。第五个输入参数为空,因此应用默认调优权重。

MPCobj = mpc(Plant,Ts,p,m,[],MV);
- - - >“权重。米anipulatedVariables" property of "mpc" object is empty. Assuming default 0.00000. -->The "Weights.ManipulatedVariablesRate" property of "mpc" object is empty. Assuming default 0.10000. -->The "Weights.OutputVariables" property of "mpc" object is empty. Assuming default 1.00000.

算法

为了最小化计算开销,模型预测控制器的创建分为两个阶段。第一个发生在创建当你使用货币政策委员会函数,或者在更改控制器属性时。创建包括基本的有效性和一致性检查,如信号维度和权重的非负性。

第二阶段是初始化,当您在模拟或分析过程中首次使用该对象时,就会发生这种情况。初始化计算高效数值性能所需的所有常量属性,例如定义最优控制问题的矩阵和状态估计器增益。此外,在初始化期间还会进行诊断检查,例如验证控制器状态是否可观察。

默认情况下,两个阶段都在命令窗口中显示信息消息。属性可以打开或关闭这些消息mpcverbosity函数。

选择功能

方法还可以创建模型预测控制器MPC设计师应用程序。

兼容性的考虑

全部展开

R2018b开始的错误

R2006a之前介绍