資源簡介
單輸入-單輸出及多輸入-多輸出,gpc隱式預測控制,可運行。
代碼片段和文件信息
clear;
disp(‘初始值‘)
nn=input(‘時域長度p=‘);n=input(‘預測長度n=‘);m=input(‘控制長度m=‘);t0=input(‘控制加權系數λ=‘);a=input(‘柔化系數α=‘);
%最小二乘公式初始化
t1=1;
P=(1e+5)*eye(2*n+1);
%參數初始值
uuu1=0;yyy1=0;uuu2=0;yyy2=0;
uu1=zeros(n1);u1=zeros(m1);uu2=zeros(n1);u2=zeros(m1);
yy1=zeros(n1);y11=zeros(n1);yy2=zeros(n1);y12=zeros(n1);
Q1=zeros(2*n+11);Q1(11)=1;Q1(n+11)=1;Q1(2*n+11)=1;Q2=Q1;
%產生周期為100,時間為T,幅值為1的方波信號的給定值
T=300;[yr0t]=gensig(‘square‘100T1);
d3=0;d3=input(‘去掉前100輸入1;否則回車‘);
nm=length(t);
for?ij=2:nm
????yr1=yr0(ij)+1;
????yr2=yr1;
????y1=(1+exp(-.7))*yy1(n1)-exp(-.7)*yy1(n-11)+0.3*uu1(n1)+0.2*uu2(n-11);
????y2=2.0017*yy2(n1)-1.2434*yy2(n-11)+0.2417*yy2(n-21)+0.13*uu1(n-11)+0.106*uu2(n1);
????
????%保存k時刻以前的n個輸出值
????for?i=1:n-1
????????yy1(i1)=yy1(i+11);yy2
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????3627??2018-02-28?15:13??GPC-參考\learn.m
?????目錄??????????0??2018-03-07?22:07??GPC-參考
-----------?---------??----------?-----??----
?????????????????3627????????????????????2
評論
共有 條評論