主要内容

setmpcsignals.

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

描述

外套= setmpcsignals(插入植物设置MPC信号类型插入植物到他们的默认值,返回结果外套。默认情况下,所有输入都是被操纵变量,并且所有输出都是输出的。

例子

外套= setmpcsignals(插入植物名称,价值设置LTI系统的输入和输出信号的MPC信号类型插入植物,返回结果外套。使用一个或多个名称值对参数指定信号类型和索引。如果未指定输入或输出通道的类型,则分别配置为操作变量和输出变量。

例子

全部收缩

创建四输入,两个输出状态空间工厂模型。默认情况下,所有输入信号都是被操纵变量,并且所有输出都是输出的。

植物= RSS(3,2,4);Plant.d = 0;

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

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

  • 第四个输入是一个未训练的干扰。

  • 第二个输出是未测量的。

植物= setmpcsignals(植物,'MD',[2 3],'ud',4,'uo',2);
- >假设未指定的输入信号是被操纵变量的。- >假设未指定的输出信号是输出的。

创建MPC控制器。

MPCobj = MPC(植物,1);
- >“preditionhorizo​​n”属性“MPC”对象是空的。尝试preditionhorizo​​n = 10.  - >“MPC”对象的“ControlHorizo​​n”属性为空。假设2.  - >“MPC”对象的“权重”属性为空。假设默认为0.00000。- >“权重”属性“MPC”对象的“权重”属性为空。假设默认为0.10000。- >“MPC”对象的“权重”属性为空。假设默认为1.0万。对于输出的输出Y1和零重量为Y2

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

创建具有两个输出的工厂模型,一个操纵变量,一个测量的干扰和两个未测量的干扰。

植物= RSS(3,2,5);Plant.d = 0;植物= setmpcsignals(植物,'mv',[1 2],'MD',3,'ud',[4 5]);

使用此工厂创建MPC控制器。

mpcobj = mpc(植物,0.1);
- >“preditionhorizo​​n”属性“MPC”对象是空的。尝试preditionhorizo​​n = 10.  - >“MPC”对象的“ControlHorizo​​n”属性为空。假设2.  - >“MPC”对象的“权重”属性为空。假设默认为0.00000。- >“权重”属性“MPC”对象的“权重”属性为空。假设默认为0.10000。- >“MPC”对象的“权重”属性为空。假设默认为1.0万。

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

mpcobj.disturbancevariables(1).scalefactor = 10;mpcobj.disturbancevariables(2).scalefactor = 5;mpcobj.disturbancevariables(3).scalefactor = 20;

假设您想改变第二个未测量的干扰,以获得测量的干扰。为此,您必须同时更新干扰控制器的属性,因为其条目的顺序取决于干扰类型(测量的扰动,接着是未测量的干扰)。

创建更新的干扰变量结构阵列。为此,将第三个元素移动到第二个元素。

dv = mpcobj.disturbancevariables;DV = [DV(1)DV(3)DV(2)];DV(2).name ='MD2';

设置内部工厂模型信号类型,获取模型来自控制器的属性,并修改其信号类型植物元素。

型号= MPCobj.model;model.plant = setmpcsignals(model.plant,'mv',[1 2],'MD',[3 5],'ud'4);

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

set(mpcobj,'模型',模型,“骚乱”,dv);

通常,最好的做法是在控制器创建后不修改信号类型。相反,使用新的信号配置创建和配置新的Controller对象。

输入参数

全部收缩

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

名称值对参数

指定可选的逗号分离对名称,价值论点。名称是参数名称和价值是相应的价值。名称必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:“未挽救的传动局”,[2 3]将第二和第三输入参数配置为测量的干扰

操纵可变指数,指定为逗号分隔对'manipulatedvariables'然后是正整数的矢量。最大索引值不得超过输入通道的数量插入植物。使用的指标漫画variables.测量透视, 和没有索赔的经营不得重叠。

代替'manipulatedvariables',您可以使用缩写'mv'

测量的扰动指数,指定为逗号分隔对'legisctiondisturbances'然后是正整数的矢量。最大索引值不得超过输入通道的数量插入植物。使用的指标漫画variables.测量透视, 和没有索赔的经营不得重叠。

代替'legisctiondisturbances',您可以使用缩写'MD'

未测量的扰动指数,指定为逗号分隔对'没有令人润安的传动局'然后是正整数的矢量。最大索引值不得超过输入通道的数量插入植物。使用的指标漫画variables.测量透视, 和没有索赔的经营不得重叠。

代替'没有令人润安的传动局',您可以使用缩写'ud'

测量输出指标,指定为逗号分隔对'RoboteOutpuls'然后是正整数的矢量。最大索引值不得超过输出通道的数量插入植物。使用的指标测量景点未测量的outputs.不得重叠。

代替'RoboteOutpuls',您可以使用缩写'莫'

未测量的输出指标,指定为逗号分隔对'未测量outpuls'然后是正整数的矢量。最大索引值不得超过输出通道的数量插入植物。使用的指标测量景点未测量的outputs.不得重叠。

代替'未测量outpuls',您可以使用缩写'uo'

输出参数

全部收缩

输出工厂模型,作为线性动态模型返回。外套具有指定的输入和输出通道类型。除此以外,外套与之相同插入植物

尖端

通常,使用植物信号类型使用setmpcsignals.在创建控制器对象之前。

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

  • 重量

  • 漫画variables.

  • opportVariables.

  • 干扰

  • model.noise.

也可以看看

|

话题

在R2006A之前介绍