主要内容

generateExplicitRange

界限明确的MPC控制律参数

描述

例子

范围= generateExplicitRange (mpcobj)创建一个结构参数范围基于传统(隐性)MPC控制器对象。适用范围结构作为输入参数generateExplicitMPC。通常,返回的初始范围值generateExplicitRange不适合生成一个显式的MPC控制器。因此,使用点符号设置的值范围结构之前调用generateExplicitMPC

例子

全部折叠

生成一个显式的MPC控制器基于传统的MPC控制器的双积分。

定义双积分。

工厂=特遣部队(1,(1 0 0));

创建一个传统的(隐性)MPC控制器对于这个工厂,样品时间0.1,预测10层,控制层3。

t = 0.1;p = 10;m = 3;mpcobj = mpc(植物、t、p、m);
- - >“权重。ManipulatedVariables”是空的。假设默认的0.00000。- - >“权重。ManipulatedVariablesRate”是空的。假设默认的0.10000。- - >“权重。OutputVariables”是空的。假设默认的1.00000。

生成一个显式的MPC控制器,您必须指定的范围等参数值和操纵变量状态。为此,产生一系列结构。然后,修改值结构所需的参数范围内。

范围= generateExplicitRange (mpcobj);
- - >转换”模型。植物状态”属性。- - >将模型转换为离散时间。假设没有干扰# 1添加到测量输出。- - >”模型。噪音”是空的。假设白噪声在每个测量输出。
range.State.Min (:) = (-10; -10);range.State.Max (:) = (10; 10);range.Reference。Min = 2;range.Reference。Max = 2;range.ManipulatedVariable。最小值= -1.1;range.ManipulatedVariable。Max = 1.1;

减少使用更健壮的方法计算。使用generateExplicitOptions创建一个默认的选项设置,然后修改polyreduction选择。

选择= generateExplicitOptions (mpcobj);opt.polyreduction = 1;

产生明确的MPC控制器。

empcobj = generateExplicitMPC (mpcobj、范围、选择)
明确的MPC控制器- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -控制器样品时间:0.1(秒)多面区域:1参数的数量:4解决方案简化:没有状态估计:默认卡尔曼增益- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -“empcobj类型。MPC的原始隐MPC的设计。“empcobj类型。范围的参数的有效范围。“empcobj类型。OptimizationOptions”选项用于不确定型QP计算。“empcobj类型。PiecewiseAffineSolution”区域,并获得在每个解决方案。

输入参数

全部折叠

传统的MPC控制器,指定为一个MPC控制器对象。使用货币政策委员会命令创建一个传统的MPC控制器。

输出参数

全部折叠

生成一个显式的MPC控制器的参数范围mpcobj,作为一个结构返回。

起初,每个参数的最小值和最大值范围是相同的。所有这些参数被认为是固定的。当你生成一个显式的控制器,任何固定参数时,必须不断的控制器操作。这是不太可能发生。因此,你必须为所有参数指定有效的边界。使用点符号设置的值范围适合您的系统结构。

范围的字段结构如下。

控制器状态界限值,指定为包含字段的结构最小值马克斯。每个人最小值马克斯是一个向量的长度nx,在那里nx是控制器的数量。Range.State.MinRange.State.Max分别包含的最小值和最大值,所有控制器的状态。例如,假设您正在设计一个两国并存的控制器。你已经确定,第一个控制器状态的范围(-1000、1000),第二个控制器状态(0,2 *π)。设置这些范围如下:

Range.State.Min (:) = (-1000,0);Range.State.Max(:) =(1000年,2 *π);

MPC控制器状态包括从植物模型,扰动模型和噪声模型,在这一秩序。设置一个状态变量的范围有时困难当状态不对应一个物理参数。在这种情况下,多个开环运行装置模拟与典型的参考和扰动信号建议为了收集数据,反映国家的范围。

控制器参考信号界限值,指定为包含字段的结构最小值马克斯。每个人最小值马克斯是一个向量的长度ny,在那里ny是植物的数量输出。Range.Reference.MinRange.Reference.Max分别包含的最小值和最大值的所有参考信号值。例如,假设您正在设计一个控制器两个输出装置。你已经确定,第一核电站输出的范围(-1000、1000),第二工厂的产量(0,2 *π)。设置这些范围如下:

Range.Reference.Min (:) = (-1000,0);Range.Reference.Max(:) =(1000年,2 *π);

通常你知道所使用的参考信号的实际范围的名义操作点。用于生成的范围明确的MPC控制器必须至少一样大的实际范围。

测量扰动界限值,指定为包含字段的结构最小值马克斯。每个人最小值马克斯是一个向量的长度n医学博士,在那里n医学博士是测量扰动的数量。如果您的系统没有测量干扰,离开这一领域的生成的值不变。

Range.MeasuredDisturbance.MinRange.MeasuredDisturbance.Max分别包含的最小值和最大值,所有测量的干扰信号。例如,假设您正在设计一个控制器系统有两个测量的干扰。你已经确定,第一个扰动的范围[1]第二个障碍是,[0,0.1]。设置这些范围如下:

Range.Reference.Min (:) = (1,0);Range.Reference.Max (:) = (0.1);

通常你知道所使用的测量干扰信号的实际范围的名义操作点。用于生成的范围明确的MPC控制器必须至少一样大的实际范围。

被控变量界限值,指定为包含字段的结构最小值马克斯。每个人最小值马克斯是一个向量的长度nu,在那里nu是操纵变量的数量。Range.ManipulatedVariable.MinRange.ManipulatedVariable.Max分别包含的最小值和最大值的操纵变量。例如,假设您的系统有两个操纵变量。第一个被控变量的范围[1],第二个变量[0,0.1]。设置这些范围如下:

Range.ManipulatedVariable.Min (:) = (1,0);Range.ManipulatedVariable.Max (:) = (0.1);

如果操纵变量约束,用于生成范围明确的MPC控制器必须至少一样大这些限制。

版本历史

介绍了R2014b