gusucode.com > 一个简单的协同自适应巡航控制的MPC控制器设计源码程序 > get_F.m

    %用于生成每步QP问题中的线性部分矩阵F和约束项中的部分元素
%输入:A-系统阵;C-输出阵;f-genQP输出的求解F系数阵;
%r-期望输出矩阵;x-当前状态值;m-控制时域
%输出:F-QP标准型的一次项矩阵;cl-部分输出约束
function [F,cl]= get_F(A,C,f,r,x,m)
dx=C*A*x-r(1,:)';
cl=C*A*x;
for i= 2:m-1
    dx=[dx;C*(A^i)*x-r(i,:)'];
    cl=[cl;C*(A^i)*x];
end
cl=[cl;C*(A^m)*x];
dx=[dx;C*(A^m)*x];
F=f'*dx;