【MATLAB 仿真】Model Predictive Control (2)、增益(Gain)的计算 【新加坡南洋理工大学 Nanyang Technological Univ.】

一、先验知识:Toeplitz 矩阵——Toeplitz Matrix:

在这里插入图片描述

二、符号注解——Notation for Symbols:

在这里插入图片描述

三、MATLAB仿真代码——Matlab Simulation Code:

定义一个函数mpcgain,来计算模型的增益。

function [Phi_Phi, Phi_F, Phi_R, A_e, B_e, C_e] = mpcgain(Ap, Bp, Cp, Nc, Np);
[m1, n1] = size(Cp);
[n1, n_in] = size(Bp);
A_e = eye(n1 + m1, n1 + m1);
A_e(1 : n1, 1 : n1) = Ap;
A_e(n1 + 1 : n1 + m1, 1 : n1) = Cp * Ap;
B_e = zeros(n1 + m1, n_in);
B_e(1 : n1, :) = Bp;
B_e(n1 + 1 : n1 + m1, :) = Cp * Bp;
C_e = zeros(m1, n1 + m1);
C_e( :, n1 + 1 : n1 + m1) = eye(m1, m1);
n = n1 + m1;
h(1, :) = C_e;
F(1, :) = C_e * A_e;
for kk = 2 : Np
    h(kk, :) = h(kk-1, :) * A_e;
    F(kk, :) = F(kk-1, :) * A_e;
end
v = h * B_e;
Phi = zeros(Np, Nc);
Phi(:, 1) = v;
for i = 2 : Nc
    Phi(:, i) = [zeros(i-1, 1);v(1:Np-i+1, 1)];
end
BarRs = ones(Np, 1);
Phi_Phi = Phi' * Phi;
Phi_F = Phi' * F;
Phi_R = Phi' * BarRs;

四、运行结果——Simulation Result:

参数选择:

在这里插入图片描述

matlab代码:

Ap = 0.8; Bp = 0.1; Cp = 1; Nc = 4; Np = 10;
[Phi_Phi, Phi_F, Phi_R, A_e, B_e, C_e] = mpcgain(Ap, Bp, Cp, Nc, Np)

输出:

在这里插入图片描述

对比书第11页结果,可知输出正确。

五、参考文献 Reference

Liuping Wang, Model Predictive Control System Design and Implementation Using MATLAB, Springer, London, 2009.

  • 15
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不是AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值