设置或修改MPC对象属性

句法

SET(MPCOBJ,属性,值)
set(mpcobj,property1,value1,property2,value2,...)
SET(MPCOBJ,Property)
设置(SYS)

描述

函数用于设置或修改MPC控制器的属性(参见MPC.用于MPC属性的背景)。使用属性名称,值对更新属性值。

SET(MPCOBJ,属性,值)分配价值到MPC控制器的属性mpcobj.由字符向量或字符串指定属性属性可以是完整的属性名称(例如,'用户数据')或任何明确的不敏感的缩写(例如,'用户')。

set(mpcobj,property1,value1,property2,value2,...)使用单个语句设置多个属性值。每个属性名称,值对更新一个特定属性。

SET(MPCOBJ,Property)显示字符向量指定的属性的可允许值属性。看到MPC.有关合法MPC属性值的概述。

设置(SYS)显示所有可分配的属性SYS.及其可允许的价值观。

例子

全部收缩

要修改现有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对象。

也可以看看

||

在R2006A之前介绍