非线性MPC控制器
库:
模型预测控制工具箱
描述
的非线性MPC控制器块模拟非线性模型预测控制器。在每一个控制区间,计算最优控制块移动通过求解一个非线性规划问题。有关非线性MPC的更多信息,请参阅非线性MPC。
使用这一块,您必须首先创建一个nlmpc
MATLAB的对象®工作区。
例子
限制
没有一个非线性MPC控制器块参数可调。
港口
输入
x- - - - - -输入
向量
目前的预测模型,指定为一个向量长度的信号Nx,在那里Nx预测模型的状态数。由于非线性MPC控制器不执行状态估计,您必须测量或估计当前状态预测模型在每个时间间隔的控制。
裁判- - - - - -参考模型输出值
矩阵行向量|
植物输出参考价值,指定为一个行向量或矩阵信号。
使用相同的参考价值在预测地平线,连接裁判一个行向量的信号NY元素,Ny输出变量的数量。每个元素指定一个输出变量的引用。
不同的引用在预测地平线(预览)k+ 1,k+p,连接裁判一个矩阵信号Ny列和p行。在这里,k当前时间和吗p是预测地平线。每一行包含的引用一个预测地平线的一步。如果你指定不到p行,最后引用用于预测地平线的其余步骤。
last_mv- - - - - -控制信号用于工厂之前的控制区间
向量
控制信号用于控制区间,以前工厂指定为一个向量长度的信号Nmv,在那里Nmv是操纵变量的数量。
请注意
连接last_mvMV信号实际应用于植物在前面的控制区间。通常,这些MV信号控制器所产生的价值,尽管这并非总是如此。例如,如果您的控制器是离线和跟踪模式下运行;即控制器输出不是开工厂,然后给实际控制信号last_mv可以帮助实现无扰转移时,控制器将重新上线。
医学博士- - - - - -输入
矩阵行向量|
如果你的控制器预测模型测量干扰你必须启用该端口,连接到一个行向量或矩阵信号。
使用相同的测量干扰值预测地平线,连接医学博士一个行向量的信号N医学博士元素,N医学博士是操纵变量的数量。每个元素指定的值测量的干扰。
不同的干扰预测地平线(预览)k时间k+p,连接医学博士一个矩阵信号N医学博士列和p+ 1行。在这里,k当前时间和吗p是预测地平线。每行包含预测地平线一步的干扰。如果你指定不到p+ 1行,最终干扰用于预测地平线的其余步骤。
依赖关系
要启用这个端口,选择测量的干扰参数。
参数个数- - - - - -可选参数
公共汽车
如果您的控制器使用可选参数的预测模型,定义代价函数,或自定义约束功能,使这个输入端口和连接参数总线信号Np元素,Np参数的数量。总线上创建一个参数信号的更多信息,参见createParameterBus
。控制器将这些参数传递给它的模型函数、成本函数,约束函数,被动函数和雅可比矩阵函数。
如果你的控制器不使用可选参数,必须禁用参数个数。
依赖关系
要启用这个端口,选择模型参数参数。
mv.target- - - - - -被控变量的目标
向量
指定被控变量的目标,使这个输入端口和连接一个矢量信号。让一个给定的被控变量跟踪其指定的目标价值,您还必须指定一个非零调整体重,操纵变量。
提供的mv.target值在运行时应用于预测地平线。
依赖关系
要启用这个端口,选择目标被操纵的变量参数。
y.min- - - - - -最小输出变量约束
向量|矩阵
指定运行时最小输出变量约束,使这个输入端口。如果该端口被禁用,块使用中指定的下界OutputVariables.Min
它的控制器对象的属性。
使用相同的边界预测地平线,连接y.min一个行向量的信号Ny元素,Ny是输出的数量。每个元素指定一个输出变量的下限。
不同范围的预测地平线k+ 1,k+p,连接y.min一个矩阵信号Ny列和p行。在这里,k当前时间和吗p是预测地平线。每一行包含一个预测地平线的界限一步。如果你指定不到p行,最后一行的界限申请的其余部分预测地平线。
依赖关系
要启用这个端口,选择低OV限制参数。
y.max- - - - - -最大输出变量约束
向量|矩阵
指定运行时最大输出变量约束,使这个输入端口。如果该端口被禁用,块使用中指定的上界OutputVariables.Min
它的控制器对象的属性。
使用相同的边界预测地平线,连接y.max一个行向量的信号Ny元素,Ny是输出的数量。每个元素指定一个输出变量的上界。
不同范围的预测地平线k+ 1,k+p,连接y.max一个矩阵信号Ny列和p行。在这里,k当前时间和吗p是预测地平线。每一行包含一个预测地平线的界限一步。如果你指定不到p行,最后一行的界限申请的其余部分预测地平线。
依赖关系
要启用这个端口,选择上层OV限制参数。
mv.min- - - - - -最小操纵变量约束
向量|矩阵
指定运行时最小操纵变量约束,使这个输入端口。如果该端口被禁用,块使用中指定的下界ManipulatedVariables.Min
它的控制器对象的属性。
使用相同的边界预测地平线,连接mv.min一个行向量的信号Nmv元素,Nmv是输出的数量。每个元素指定一个操纵变量的下限。
不同范围的预测地平线k时间k+p1,连接mv.min一个矩阵信号Ny列和p行。在这里,k当前时间和吗p是预测地平线。每一行包含一个预测地平线的界限一步。如果你指定不到p行,最后一行的界限申请的其余部分预测地平线。
依赖关系
要启用这个端口,选择较低的MV限制参数。
mv.max- - - - - -最大操纵变量约束
向量|矩阵
指定运行时最大操纵变量约束,使这个输入端口。如果该端口被禁用,块使用中指定的上界ManipulatedVariables.Max
它的控制器对象的属性。
使用相同的边界预测地平线,连接mv.max一个行向量的信号Nmv元素,Nmv是输出的数量。每个元素指定一个操纵变量的上界。
不同范围的预测地平线k时间k+p1,连接mv.max一个矩阵信号Ny列和p行。在这里,k当前时间和吗p是预测地平线。每一行包含一个预测地平线的界限一步。如果你指定不到p行,最后一行的界限申请的其余部分预测地平线。
依赖关系
要启用这个端口,选择上层MV限制参数。
dmv.min- - - - - -最小操纵变量率约束
向量|矩阵
指定运行时最小操纵可变利率限制,使这个输入端口。如果该端口被禁用,块使用中指定的下界ManipulatedVariable.RateMin
它的控制器对象的属性。dmv.min范围必须是负的。
使用相同的边界预测地平线,连接dmv.min一个行向量的信号Nmv元素,Nmv是输出的数量。每个元素指定一个操纵变量变化率的下界。
不同范围的预测地平线k时间k+p1,连接dmv.min一个矩阵信号Ny列和p行。在这里,k当前时间和吗p是预测地平线。每一行包含一个预测地平线的界限一步。如果你指定不到p行,最后一行的界限申请的其余部分预测地平线。
依赖关系
要启用这个端口,选择低MVRate限制参数。
dmv.max- - - - - -最大操纵变量率约束
向量|矩阵
指定运行时最大操纵变量率限制,使这个输入端口。如果该端口被禁用,块使用中指定的上界ManipulatedVariables.RateMax
它的控制器对象的属性。dmv.max范围必须是负的。
使用相同的边界预测地平线,连接dmv.max一个行向量的信号Nmv元素,Nmv是输出的数量。每个元素指定为被控变量变化率上界。
不同范围的预测地平线k时间k+p1,连接dmv.max一个矩阵信号Ny列和p行。在这里,k当前时间和吗p是预测地平线。每一行包含一个预测地平线的界限一步。如果你指定不到p行,最后一行的界限申请的其余部分预测地平线。
依赖关系
要启用这个端口,选择上层MVRate限制参数。
x.min- - - - - -最低状态约束
向量|矩阵
指定运行时最低状态约束,使这个输入端口。如果该端口被禁用,块使用中指定的下界States.Min
它的控制器对象的属性。
使用相同的边界预测地平线,连接x.min一个行向量的信号Nx元素,Nx是输出的数量。每个元素指定状态的下界。
不同范围的预测地平线k+ 1,k+p,连接x.min一个矩阵信号Ny列和p行。在这里,k当前时间和吗p是预测地平线。每一行包含一个预测地平线的界限一步。如果你指定不到p行,最后一行的界限申请的其余部分预测地平线。
依赖关系
要启用这个端口,选择较低的国家限制参数。
x.max- - - - - -最大状态约束
向量|矩阵
指定运行时最大状态约束,使这个输入端口。如果该端口被禁用,块使用中指定的上界States.Max
它的控制器对象的属性。
使用相同的边界预测地平线,连接x.max一个行向量的信号Nx元素,Nx是输出的数量。每个元素指定状态的上界。
不同范围的预测地平线k+ 1,k+p,连接x.max一个矩阵信号Ny列和p行。在这里,k当前时间和吗p是预测地平线。每一行包含一个预测地平线的界限一步。如果你指定不到p行,最后一行的界限申请的其余部分预测地平线。
依赖关系
要启用这个端口,选择上游国家限制参数。
y.wt- - - - - -输出变量调整权重
矩阵行向量|
指定运行时输出变量优化权重,使这个输入端口。如果该端口被禁用,块使用优化权重中指定Weights.OutputVariables
它的控制器对象的属性。这些调优权重惩罚偏离参考输出。
如果MPC控制器对象使用恒定的输出调优权重预测地平线,你可以在运行时指定只有恒定输出调整权重。类似地,如果MPC控制器对象使用不同的输出调优权重预测地平线,你可以在运行时指定只有时变输出调整权重
使用常数优化权重预测地平线,连接y.wt一个行向量的信号Ny元素,Ny是输出的数量。每个元素指定一个输出变量非负调优的体重。指定优化权值的更多信息,请参阅调整权重。
不同的调优权重预测地平线k+ 1,k+p,连接y.wt一个矩阵信号Ny列和p行。在这里,k当前时间和吗p是预测地平线。每行包含一个预测地平线步骤的优化权重。如果你指定不到p行,优化权重,最后行申请剩下的预测地平线。更多信息在不同权重预测地平线,明白了时变权重设置和约束与MPC设计师。
依赖关系
要启用这个端口,选择OV权重参数。
mv.wt- - - - - -被控变量优化权重
矩阵行向量|
指定运行时被控变量优化权重,使这个输入端口。如果该端口被禁用,块使用优化权重中指定Weights.ManipulatedVariables
它的控制器对象的属性。这些调优权重惩罚偏离MV的目标。
使用相同的调优权重预测地平线,连接mv.wt一个行向量的信号Nmv元素,Nmv是操纵变量的数量。每个元素指定为被控变量非负调优的体重。指定优化权值的更多信息,请参阅调整权重。
不同的调优权重预测地平线k时间k+p1,连接mv.wt一个矩阵信号Nmv列和p行。在这里,k当前时间和吗p是预测地平线。每行包含一个预测地平线步骤的优化权重。如果你指定不到p行,优化权重,最后行申请剩下的预测地平线。更多信息在不同权重预测地平线,明白了时变权重设置和约束与MPC设计师。
依赖关系
要启用这个端口,选择MV权重参数。
dmv.wt- - - - - -被控变量率优化权重
矩阵行向量|
指定运行时被控变量率优化权重,使这个输入端口。如果该端口被禁用,块使用优化权重中指定Weights.ManipulatedVariablesRate
它的控制器对象的属性。这些调优权重惩罚大变化的控制动作。
使用相同的调优权重预测地平线,连接dmv.wt一个行向量的信号Nmv元素,Nmv是操纵变量的数量。每个元素指定为被控变量非负调优的体重率。指定优化权值的更多信息,请参阅调整权重。
不同的调优权重预测地平线k时间k+p1,连接dmv.wt一个矩阵信号Nmv列和p行。在这里,k当前时间和吗p是预测地平线。每行包含一个预测地平线步骤的优化权重。如果你指定不到p行,优化权重,最后行申请剩下的预测地平线。更多信息在不同权重预测地平线,明白了时变权重设置和约束与MPC设计师。
依赖关系
要启用这个端口,选择MVRate权重参数。
ecr.wt- - - - - -松弛变量优化重量
标量
指定运行时松弛变量优化重量,使这个输入端口和连接一个标量信号。如果该端口被禁用,块使用调优中指定的重量Weights.ECR
它的控制器对象的属性。
松弛变量优化重量没有影响,除非你的控制器对象定义的软约束关联ECR值非零。如果有软约束,增加了ecr.wt价值使得这些约束相对困难。控制器然后地方优先减少预测最坏的大小约束违反。
依赖关系
要启用这个端口,选择ECR重量参数。
mv.init- - - - - -初始猜测最优操纵变量的解决方案金宝搏官方网站
向量|矩阵
指定初始猜测最优操纵变量的解决方案,使这个输入端口。金宝搏官方网站如果该端口被禁用,块使用最优控制序列计算在前面的控制区间作为初始猜测。
使用相同的初始猜测预测地平线,连接mv.init一个矢量信号Nmv元素,Nmv是操纵变量的数量。每个元素指定一个操纵变量的初始猜测。
不同的初始猜测预测地平线k时间k+p1,连接mv.init一个矩阵信号Nmv列和p行。在这里,k当前时间和吗p是预测地平线。每一行包含的初始猜测一个预测地平线的一步。如果你指定不到p行,最后一行的猜测申请的其余部分预测地平线。
依赖关系
要启用这个端口,选择最初的猜测参数。
x.init- - - - - -初始猜测最优状态变量的解决方案金宝搏官方网站
向量|矩阵
指定初始猜测最优状态的解决方案,使这个输入端口。金宝搏官方网站如果该端口被禁用,块使用最优状态序列计算在前面的控制区间作为初始猜测。
使用相同的初始猜测预测地平线,连接x.init一个矢量信号Nx元素,Nx的状态数。每个元素指定的初始猜测状态。
不同的初始猜测预测地平线k时间k+p1,连接x.init一个矩阵信号Nx列和p行。在这里,k当前时间和吗p是预测地平线。每一行包含的初始猜测一个预测地平线的一步。如果你指定不到p行,最后一行的猜测申请的其余部分预测地平线。
依赖关系
要启用这个端口,选择最初的猜测参数。
e.init- - - - - -初始猜测松弛变量的解决方案
负的标量
为松弛变量指定一个初始猜测的解决方案,使这个输入端口和连接一个负的标量信号。如果该端口被禁用,块使用的初始猜测0
。
依赖关系
要启用这个端口,选择最初的猜测参数。
输出
mv- - - - - -最优操纵变量控制行动
列向量
最优操纵变量控制动作,输出为一个列向量长度的信号Nmv,在那里Nmv是操纵变量的数量。
如果解决收敛于局部最优的解决方案(nlp.status是积极的),然后呢mv包含最优解。
如果解算器达到最大迭代次数没有找到一个最佳的解决方案(nlp.status是零)和Optimization.UseSuboptimalSolution
控制器的属性是:
真正的
,然后mv包含了次优的解决方案假
,然后mv是一样的last_mv
如果解决失败(nlp.status是负的),然后呢mv是一样的last_mv。
成本- - - - - -成本目标函数
负的标量
成本目标函数,输出为负的标量信号。成本量化程度控制器实现其目标。
成本值时才有意义nlp.status输出是负的。
依赖关系
要启用这个端口,选择最优成本参数。
松弛- - - - - -松弛变量
0 |负的标量
松弛变量,ε,用于约束软化、输出0
或积极的标量值。
ε= 0,所有软约束满足整个预测地平线。
ε> 0 -至少一个软约束违反。当多个约束违反,ε表示最坏的软约束违反(由每个约束的ECR值缩放)。
依赖关系
要启用这个端口,选择松弛变量参数。
nlp.status- - - - - -优化状态
标量
优化状态,输出是下列之一:
正整数——解决者聚集到一个最优解
0
——最大迭代次数达到不收敛于最优解负整数,解算器失败
依赖关系
要启用这个端口,选择优化状态参数。
mv.seq- - - - - -最优操纵变量序列
矩阵
最优操纵变量序列,作为一个矩阵信号返回p+ 1行和Nmv列,p预测地平线和吗Nmv是操纵变量的数量。
第一个p行mv.seq包含从当前时间计算最优操纵变量值k时间k+p1。第一行的mv.seq包含当前的操纵变量值(输出mv)。由于控制器不计算最优控制移动k+p的最后两行mv.seq都是相同的。
依赖关系
要启用这个端口,选择最优控制序列参数。
x.seq- - - - - -最优预测模型的状态序列
矩阵
最优预测模型状态序列,作为一个矩阵信号返回p+ 1行和Nx列,p预测地平线和吗Nx的状态数。
第一行的x.seq包含当前估计状态值,要么从内置的状态估计量或输入自定义状态估计的块x (k | k)。下一个p行x.seq包含计算最优状态值k+ 1,k+p。
依赖关系
要启用这个端口,选择最优状态序列参数。
y.seq- - - - - -最优输出变量序列
矩阵
最优输出变量序列,作为一个矩阵信号返回p+ 1行和Ny列,p预测地平线和吗Ny输出变量的数量。
第一个p行y.seq从当前时间包含计算最优的输出值k时间k+p1。第一行的y.seq计算基于当前估计状态和当前测量干扰(第一行输入医学博士)。由于控制器不计算最优输出值k+p的最后两行y.seq都是相同的。
依赖关系
要启用这个端口,选择最优输出序列参数。
参数
非线性MPC控制器- - - - - -控制器对象
nlmpc
对象名称
使用预测模型示例- - - - - -国旗使用预测模型的样本
(默认)|关闭
选择该参数运行控制器使用相同的样品时间预测模型。使用不同的控制器样品时间,明确该参数,并指定样品时间使用使块运行在不同样品的时间参数。
限制决策变量的数量,提高计算效率,您可以运行控制器的样品时间不同于预测地平线。例如,考虑非线性MPC控制器的情况下运行在10赫兹。如果工厂和控制器样品时间匹配,预测植物的行为十秒钟需要预测地平线的长度为100,并产生大量的决策变量。减少决策变量的数量,你可以使用一个植物样本1秒的时间和长度的预测地平线10。
编程使用
块参数:UseObjectTs |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“上” |
使块运行在不同样品的时间- - - - - -控制器样品时间
积极有限标量|1
指定该参数运行控制器使用不同的采样时间预测模型。设置这个参数1
允许阻止继承采样时间其母子系统。
请注意
MV速度向量的第一个元素(这是当前的最后一个值之间的差别的操纵变量)通常是加权和约束假设MV的最后一个值在样本时间发生在过去的货币政策委员会中指定对象。在执行块时使用不同的采样率,这种假设不再成立,因此,在这种情况下,您必须确保重量和约束定义在控制器正确处理MV速度向量的第一个元素。
依赖关系
要启用该参数,清除使用预测模型示例参数。
编程使用
块参数:TsControl |
类型:字符串,特征向量 |
默认值:”“ |
使用墨西哥人加快仿真速度- - - - - -为模拟控制器使用墨西哥人功能
(默认)|
选择这个参数来模拟控制器使用墨西哥人函数生成的使用buildMEX
。这样做可以减少控制器的仿真时间。指定名称的墨西哥人功能,使用墨西哥人指定函数名参数。
编程使用
块参数:UseMEX |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
墨西哥人指定函数名- - - - - -控制器墨西哥人函数名
字符串
使用这个参数指定墨西哥人函数来模拟中使用的名称。创建墨西哥人功能,使用buildMEX
函数。
依赖关系
要启用该参数,选择使用墨西哥人加快仿真速度参数。
编程使用
块参数:mexname |
类型:字符串,特征向量 |
默认值:”“ |
General选项卡
测量的干扰- - - - - -添加测量扰动输入端口
(默认)|
如果你的控制器测量干扰,必须选择添加这个参数医学博士输出端口的块。
编程使用
块参数:md_enabled |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
目标被操纵的变量- - - - - -添加操作变量目标输入端口
(默认)|
选择要添加这个参数mv.target输入端口。
编程使用
块参数:mvtarget_enabled |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
模型参数- - - - - -添加模型参数输入端口
(默认)|
如果您的控制器使用可选参数,您必须选择添加这个参数参数个数输出端口的块。
总线上创建一个参数信号的更多信息,参见createParameterBus
。
编程使用
块参数:param_enabled |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
最优成本- - - - - -添加成本最优输出端口
(默认)|
选择要添加这个参数成本输出端口的块。
编程使用
块参数:cost_enabled |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
最优控制序列- - - - - -添加最优控制序列输出端口
(默认)|
选择要添加这个参数mv.seq输出端口的块。
编程使用
块参数:mvseq_enabled |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
最优状态序列- - - - - -添加最优状态序列输出端口
(默认)|
选择要添加这个参数x.seq输出端口的块。
编程使用
块参数:stateseq_enabled |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
最优输出序列- - - - - -添加最优输出序列输出端口
(默认)|
选择要添加这个参数y.seq输出端口的块。
编程使用
块参数:ovseq_enabled |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
松弛变量- - - - - -添加松弛变量输出端口
(默认)|
选择要添加这个参数松弛输出端口的块。
编程使用
块参数:slack_enabled |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
优化状态- - - - - -添加优化状态输出端口
(默认)|
选择要添加这个参数nlp.status输出端口的块。
编程使用
块参数:status_enabled |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
在线功能选项卡
低OV限制- - - - - -添加最低OV约束输入端口
(默认)|
选择要添加这个参数ov.min输入端口。
编程使用
块参数:ov_min |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
上层OV限制- - - - - -添加最大OV约束输入端口
(默认)|
选择要添加这个参数ov.max输入端口。
编程使用
块参数:ov_max |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
较低的MV限制- - - - - -添加最低MV约束输入端口
(默认)|
选择要添加这个参数mv.min输入端口。
编程使用
块参数:mv_min |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
上层MV限制- - - - - -添加最大MV约束输入端口
(默认)|
选择要添加这个参数mv.max输入端口。
编程使用
块参数:mv_max |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
低MVRate限制- - - - - -添加最低MV率约束输入端口
(默认)|
选择要添加这个参数dmv.min输入端口。
编程使用
块参数:mvrate_min |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
上层MVRate限制- - - - - -添加最大MV速率约束的输入端口
(默认)|
选择要添加这个参数dmv.max输入端口。
编程使用
块参数:mvrate_max |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
较低的国家限制- - - - - -添加最小状态约束的输入端口
(默认)|
选择要添加这个参数x.min输入端口。
编程使用
块参数:state_min |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
上游国家限制- - - - - -添加最大状态约束的输入端口
(默认)|
选择要添加这个参数x.max输入端口。
编程使用
块参数:state_max |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
OV权重- - - - - -添加OV优化权重输入端口
(默认)|
选择要添加这个参数y.wt输入端口。
编程使用
块参数:ov_weight |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
MV权重- - - - - -添加MV优化权重输入端口
(默认)|
选择要添加这个参数mv.wt输入端口。
编程使用
块参数:mv_weight |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
MVRate权重- - - - - -添加MV率优化权重输入端口
(默认)|
选择要添加这个参数dmv.wt输入端口。
编程使用
块参数:mvrate_weight |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
ECR重量- - - - - -添加ECR调整重量输入端口
(默认)|
选择要添加这个参数ecr.wt输入端口。
编程使用
块参数:ecr_weight |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
最初的猜测- - - - - -添加初始猜输入端口
(默认)|
选择要添加这个参数mv.init,x.init,e.init输入端口。
请注意
默认情况下,Nonlinar MPC控制器块使用计算最优控制变量和状态轨迹从一个控制区间作为初始猜测接下来的时间间隔。
使初始猜测港口只有为您的应用程序是必要的。
编程使用
块参数:nlp_initialize |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
扩展功能
C / c++代码生成
使用仿真软件生成C和c++代码®编码器™。金宝app
使用笔记和限制:
的非线性MPC控制器块支持生成代金宝app码只使用默认的非线性MPC控制器
fmincon
用SQP算法求解。代码生成单精确或不支持定点计算。金宝app
用于代码生成时,非线性MPC控制器表达预测模型功能,不支持阶段成本函数或约束函数作为匿名函数。金宝app
如果你的控制器使用可选参数,您还必须生成代码总线的创造者块连接到参数个数输入端口。为此,地方非线性MPC控制器和总线的创造者街区内的一个子系统,子系统生成代码。
的金宝app支持非谓语形式的数字复选框的接口部分的代码生成选项,根据模型配置参数对话框,必须检查(默认选项)。
当使用嵌入式编码器生成代码®,金宝app支持适应信号在接口部分的代码生成选项,根据模型配置参数对话框,必须检查。默认情况下此复选框不生成代码之前,你必须检查它。
版本历史
介绍了R2018b
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。