• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-01-09
  • 语言: Matlab
  • 标签: matlab  

资源简介

李国勇老师智能控制的MATLAB实现的隐式GPC-Gpc.m
希望对大家有用,大家也可以参考改编。

资源截图

代码片段和文件信息

clear
clf  
%定义预测长度 和控制长度
N2=13;                    % 预测长度  (分别取5,6,7)
Nu=5;                    %控制长度  (分别取1,23)
gama=0.7;                  %制加权系数
lam=0.998;               %遗忘因子
P=(1e+6)*eye(N2+1);      %P的初始值
%参数初始值
uuu=0;yyy=0;
uu=zeros(N21);u=zeros(Nu1);
yy=zeros(N21);y1=zeros(N21);
theta=zeros(N2+11);theta(11)=1;theta(N2+11)=1;

%产生周期为100,时间为T,幅值为1的方波信号的给定值
 T=600;[yr0t]=gensig(‘square‘100T1);
 nm=length(t);          %确定循环次数
 for ij=2:nm
     yr=yr0(ij)+1;      %产生周期为100,时间为T,幅值为在1和2之间的方波信号
%根据系统模型,计算k时刻的输出值y(k)
     y=1.5*yy(N21)-0.5*yy(N2-11)+0.5*uu(N2-41);
%保存k时刻以及以前的N1个输出值y(k)y(k-1)...y(k-N2)以供模型运算
     for i=1:N2-1
         yy(i1)=yy(i+11);
     end
     yy(N21)=y;
     yyy=[yyy;y];      %保存各k时刻的nm个输出量以便绘图
%根据最小二乘公式,由y(k)计算F的各元素的值f0

评论

共有 条评论