主要内容

setmpcsignals

在LTI工厂模型中设置信号类型

描述

outPlant= setmpcsignals (inPlant设置的MPC信号类型inPlant的默认值,返回结果outPlant.默认情况下,所有输入都是操作变量,所有输出都是测量输出。

例子

outPlant= setmpcsignals (inPlant名称,值设置LTI系统输入和输出信号的MPC信号类型inPlant,返回结果outPlant.使用一个或多个名称-值对参数指定信号类型和索引。如果您没有指定输入或输出通道的类型,则将它们分别配置为操作变量和输出变量。

例子

全部折叠

创建一个四输入、两输出的状态空间植物模型。默认情况下,所有输入信号都是操作变量,所有输出都是测量输出。

植物= rss(3,2,4);工厂。D = 0;

配置工厂输入/输出通道,以便:

  • 第二个和第三个输入是测量到的扰动。

  • 第四个输入是一个不可测量的扰动。

  • 第二个输出是无法测量的。

植物= setmpcsignals(植物,“医学博士”3 [2],“UD”4“UO”2);
——>假设未指定的输入信号是被操纵的变量。——>假设未指定的输出信号是测量输出。

创建MPC控制器。

MPCobj = mpc(plant,1);
——>“PredictionHorizon”属性为空。假设默认为10。“ControlHorizon”属性为空。假设默认2。- - - >“权重。属性为空。假设默认值为0.00000。- - - >“权重。属性为空。假设默认为0.10000。 -->The "Weights.OutputVariables" property is empty. Assuming default 1.00000. for output(s) y1 and zero weight for output(s) y2

若要修改现有MPC控制器的信号类型,必须同时修改依赖于信号类型配置的任何控制器属性。

创建一个具有两个输出的植物模型,一个操作变量,一个测量扰动和两个未测量扰动。

植物= rss(3,2,5);工厂。D = 0;植物= setmpcsignals(植物,“MV”(1 - 2),“医学博士”3,“UD”[4 - 5]);

使用这个植物创建一个MPC控制器。

MPCobj = mpc(植物,0.1);
——>“PredictionHorizon”属性为空。假设默认为10。“ControlHorizon”属性为空。假设默认2。- - - >“权重。属性为空。假设默认值为0.00000。- - - >“权重。属性为空。假设默认为0.10000。 -->The "Weights.OutputVariables" property is empty. Assuming default 1.00000.

配置控制器属性。例如,设置干扰信号的比例因子。

MPCobj.DisturbanceVariables(1)。ScaleFactor = 10;MPCobj.DisturbanceVariables(2)。ScaleFactor = 5;MPCobj.DisturbanceVariables(3)。ScaleFactor = 20;

假设你想把第二个未测量的扰动变成一个测量的扰动。要做到这一点,必须同时更新DisturbanceVariables属性,因为其条目的顺序取决于扰动类型(测量扰动之后是未测量扰动)。

创建一个更新的扰动变量结构数组。为此,将第三个元素移动为第二个元素。

DV = mpcobj . turbulancevariables;Dv = [Dv (1) Dv (3) Dv (2)];DV(2)。Name =“MD2”

要设置内部植物模型信号类型,请获取模型属性,并修改其信号类型植物元素。

model = MPCobj.Model;模型。植物= setmpcsignals (模型。植物,“MV”(1 - 2),“医学博士”[3 - 5],“UD”4);

将控制器的模型和扰动变量属性设置为更新后的值。

集(MPCobj,“模型”、模型“DisturbanceVariables”、DV);

一般来说,最好的做法是在控制器创建之后不修改信号类型。相反,使用新的信号配置创建并配置一个新的控制器对象。

输入参数

全部折叠

输入工厂模型,指定为LTI模型或线性系统识别工具箱™模型。

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:“UnmeasuredDisturbances”,[2 3]将第二个和第三个输入参数配置为测量扰动

被操作的变量索引,指定为逗号分隔的对“ManipulatedVariables”后面跟着一个正整数向量。索引的最大值不能超过输入通道的数量inPlant.使用指定的索引ManipulatedVariablesMeasuredDisturbances,UnmeasuredDisturbances一定不能重叠。

而不是“ManipulatedVariables”,你可以使用缩写“MV”

测量的干扰指数,指定为逗号分隔对“MeasuredDisturbances”后面跟着一个正整数向量。索引的最大值不能超过输入通道的数量inPlant.使用指定的索引ManipulatedVariablesMeasuredDisturbances,UnmeasuredDisturbances一定不能重叠。

而不是“MeasuredDisturbances”,你可以使用缩写“医学博士”

未测量的干扰指数,指定为逗号分隔对“UnmeasuredDisturbances”后面跟着一个正整数向量。索引的最大值不能超过输入通道的数量inPlant.使用指定的索引ManipulatedVariablesMeasuredDisturbances,UnmeasuredDisturbances一定不能重叠。

而不是“UnmeasuredDisturbances”,你可以使用缩写“UD”

测量输出指数,指定为逗号分隔对“MeasuredOutputs”后面跟着一个正整数向量。索引的最大值不能超过输出通道的数量inPlant.使用指定的索引MeasuredOutputs而且UnmeasuredOutputs一定不能重叠。

而不是“MeasuredOutputs”,你可以使用缩写“莫”

未测量的输出指数,指定为逗号分隔的对“UnmeasuredOutputs”后面跟着一个正整数向量。索引的最大值不能超过输出通道的数量inPlant.使用指定的索引MeasuredOutputs而且UnmeasuredOutputs一定不能重叠。

而不是“UnmeasuredOutputs”,你可以使用缩写“UO”

输出参数

全部折叠

输出工厂模型,返回为线性动态模型。outPlant具有指定的输入和输出通道类型。否则,outPlant等于inPlant

提示

一般情况下,设置植物信号类型使用setmpcsignals在创建控制器对象之前。

如果修改现有控制器的内部工厂模型的信号类型,则必须确保新的输入/输出通道类型与以下控制器属性一致:

  • 权重

  • ManipulatedVariables

  • OutputVariables

  • DisturbanceVariables

  • 模型。噪音

版本历史

R2006a之前介绍