• 大小: 3KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-14
  • 语言: Matlab
  • 标签: GPC  

资源简介

基与广义预测控制算法进行MATLAB仿真,在线辨识模型参数

资源截图

代码片段和文件信息

%ex9_1/9_2.m
clear;disp(‘单变量最小相位系统的隐式广义预测控制算法的研究‘)
d0=input(‘仿真例9-1请输入1;仿真例9-2请输入2:‘);
disp(‘广义预测控制算法初始值‘)
nn=input(‘时域长度p=‘);n=input(‘预测长度n=‘);m=input(‘控制长度m=‘);
t0=input(‘控制加权系数λ=‘);a=input(‘柔化系数α=‘);
disp(‘最小二乘公式初始值‘)
t1=1;                         
d1=0;d2=0;d3=0;
d1=input(‘(n+1)阶方阵P的形式:设置为方阵请输入1;否则按回车键将自动设置为对角阵:‘);
d2=input(‘(n+1)阶方阵P的初始值:键盘设置请输入1;否则按回车键自动赋值为1e+5:‘);
if (d1==1)
    if (d2==1)
        P=input(‘在方括号[ ]中输入(n+1)阶方阵P的值:‘);
    else
        P=(1e+5)*ones(n+1);
    end
else
    if (d2==1)
        PP=input(‘在方括号[ ]中输入(n+1)阶对角方阵P对角线上的值:‘);
        P=diag(PP);
    else
        P=(1e+5)*eye(n+1);
    end
end

uuu=0;yyy=0;uu=zeros(n1);u=zeros(m1);yy=zeros(n1);y1=zeros(n1);
Q=zeros(n+11);Q(11)=1;Q(n+11)=1;

T=300;[yr0t]=gensig(‘square‘100T1);
d3=input(‘输出曲线是否去掉前100步:去掉时请输入1;否则按回车键:‘);
nm=length(t);                   
for ij=2:nm
    yr=yr0(ij)+1;   
    if (d0==1)
      y=1.496585*yy(n1)-0.496585*yy(n-11)+0.5*uu(n-11);               
    else
      y=2.001676*yy(n1)-1.24339*yy(n-11)+0.24171*yy(n-21)+0.23589*uu(n1); 
    end

    a9=0;
    for i=1:1
        a9=a9+rand;
    end
    a8=0.01*(a9-6);         

    for i=1:n-1
        yy(i1)=yy(i+11);
    end
    yy(n1)=y;
    yyy=[yyy;y];                     

    for

评论

共有 条评论