指定替代成本函数与非对角的权重矩阵
这个例子展示了如何使用分支权重矩阵模型预测控制器。
定义植物模型和MPC控制器
线性模型有两个输入和两个输出。
工厂= ss (tf ({1 1; 1,2}, {[1 5 1]、[。7。5 1];[1。4 2],[1 - 2]}));[A, B, C, D] = ssdata(植物);t = 0.1;%采样时间工厂=汇集(植物、Ts);%转换为离散时间
创建MPC控制器。
p = 20;%预测地平线m = 2;%控制地平线mpcobj = mpc(植物、t、p、m);
- - >“权重。ManipulatedVariables”属性的“mpc”对象是空的。假设默认的0.00000。- - >“权重。ManipulatedVariablesRate”属性的“mpc”对象是空的。假设默认的0.10000。- - >“权重。OutputVariables”属性的“mpc”对象是空的。假设默认的1.00000。
定义约束操纵变量。
mpcobj。MV =结构(“最小值”{3;2},“马克斯”{3;2},“杀鼠灵”-100},{-100;“RateMax”,{100;100});
定义分支输出的重量。注意,它被指定在一个细胞数组。
噢= [1]* [1];重量%分支输出,对应于((y1-r1)——(y2-r2)) ^ 2mpcobj.Weights。OutputVariables ={噢};%分支输入重量,对应于(u1-u2) ^ 2mpcobj.Weights。ManipulatedVariables ={0.5 *噢};
模拟使用SIM命令
指定模拟选项。
Tstop = 30;%的仿真时间Tf =圆(Tstop / Ts);%的模拟步骤r = 1 (Tf, 1) * (1 - 2);%的参考轨迹
运行闭环仿真和阴谋的结果。
[y t u] = sim (mpcobj, Tf, r);次要情节(211)情节(t y (: 1) - r (1,1) - y (:, 2) + r(1、2));网格标题(“(y_1-r_1)——(y_2-r_2)”);次要情节(212)情节(t, u);网格标题(“u”);
- - >输出假设扰动添加到测量输出通道# 1是集成的白噪声。- - >输出假设扰动添加到测量输出通道# 2是集成的白噪声。- - >”模型。没有ise" property of the "mpc" object is empty. Assuming white noise on each measured output channel.
使用仿真软件模拟®金宝app
这个例子中,运行仿真软件®是必需的。金宝app
如果~ mpcchecktoolboxinstalled (“金宝app模型”)disp (”金宝app模型(R)需要运行这个示例的一部分。”)返回结束
现在在仿真软件模拟闭环MPC®。金宝app
mdl =“mpc_weightsdemo”;open_system (mdl);sim (mdl)
bdclose (mdl);
这个主题有帮助吗?