91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1.78MB
    文件類型: .rar
    金幣: 2
    下載: 3 次
    發(fā)布日期: 2023-08-30
  • 語(yǔ)言: Matlab
  • 標(biāo)簽: DMC??MATLAB??

資源簡(jiǎn)介

對(duì)于雙輸入雙輸出系統(tǒng)的模型預(yù)測(cè)控制(DMC)的MATLAB實(shí)現(xiàn),能直接運(yùn)行得到結(jié)論,是學(xué)習(xí)DMC的一個(gè)較好的資源。

資源截圖

代碼片段和文件信息

clear;
clc;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%基礎(chǔ)參數(shù)設(shè)置
delt=1;%采樣周期
N=150;?%模型長(zhǎng)度
p=2;m=2;?%系統(tǒng)維數(shù)-2輸入2輸出
t=0:delt:delt*N;
P=10;%優(yōu)化時(shí)域?
M=5;?%控制時(shí)域
nn=N/delt+1;?%在線計(jì)算步數(shù)
%輸出誤差加權(quán)系數(shù)-單位陣?
ramena_y=1;q=ramena_y*eye(P);
%控制加權(quán)系數(shù)-對(duì)角線元素為0.02的對(duì)角陣
ramena_u=0.02;r=ramena_u*eye(M);
rd=0;%擾動(dòng)

%傳遞函數(shù)建立
sys11=tf(0.35[500?45?1]‘inputdelay‘1);
sys12=tf(0.50[150?25?1]‘inputdelay‘2.5);
sys21=tf(0.85[2000?90?1]‘inputdelay‘2);
sys22=tf(-0.90[1200?70?1]‘inputdelay‘1);

%建立階躍響應(yīng)模型
[y11t11x11]=step(sys11t);model{11}=y11(1:N);
[y12t12x12]=step(sys12t);model{12}=y12(1:N);
[y21t21x21]=step(sys21t);model{21}=y21(1:N);
[y22t22x22]=step(sys22t);model{22}=y22(1:N);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%模型預(yù)測(cè)
%建立動(dòng)態(tài)響應(yīng)矩陣?A
for?i=1:p
??for?j=1:m??%對(duì)?p*m?個(gè)優(yōu)化變量賦值
????for?i1=1:M
??????for?i2=1:P
????????if?i2???????????B{ij}(i2i1)=0;?%超出控制時(shí)域時(shí),控制增量無(wú)變化
????????else
???????????B{ij}(i2i1)=model{ij}(i2-i1+1);%未超出時(shí)賦值為對(duì)應(yīng)的階躍響應(yīng)系數(shù)
????????end
??????end
????end
??end
??C{i}=cat(2B{i1:m});?%聯(lián)結(jié)為動(dòng)態(tài)響應(yīng)矩陣的行數(shù)
end
A=cat(1C{1:p});
%按列連接為動(dòng)態(tài)響應(yīng)矩陣?由階躍響應(yīng)系數(shù)組成的?P*M陣
%{}中下標(biāo)?i?表示所預(yù)測(cè)未來(lái)輸出的個(gè)數(shù),下標(biāo)?j?表示控制量變化的次數(shù)
for?i=1:p
??aa{i}=cat(2model{i1:m});
end
A0=cat(1aa{1:p});
ym=zeros(p*N1);
y=zeros(nnp);
du=zeros(m1);
uu=zeros(m1);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%滾動(dòng)優(yōu)化
%求控制向量?dT(由?Q?R?P?M?四個(gè)參數(shù)確定)
for?i=1:p?
????qq{i}=q;
end
Q=blkdiag(qq{1:p});
for?i=1:m
????rr{i}=r;
end
R=blkdiag(rr{1:m});
L=zeros(mm*M);??

for?i=1:m
??????L(iM*(i-1)+1)=1;
?end
D=L*inv(A‘*Q*A+R)*A‘*Q;?%控制向量計(jì)算公式

sp1=1;sp2=1;%預(yù)測(cè)輸出設(shè)定值?可調(diào)整分別不一樣
w{1}=sp1*ones(P1);
w{2}=sp2*ones(P1);
W=cat(1w{1:p});
%輸出期望值
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%反饋校正
%建立矩陣HhstSS0
hst=ones(N1);
for?i=1:p
????hh{i}=hst;
end
??H=blkdiag(hh{1:p});
??ss=zeros(pp*N);
??
for?i=1:m
????ss(iN*(i-1)+1)=1;
end
??S=zeros(N);
??
for?i=1:N
????for?j=1:N
???????if?j==i+1
??????????S(ij)=1;
???????end
????end
end
S(NN)=1;

for?i=1:p
????s{i}=S;
end
S0=blkdiag(s{1:p});
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%在線計(jì)算初始狀態(tài)設(shè)置
u1_1=0;u1_2=0;
u2_1=0;u2_2=0;
y1_1=0;y1_2=0;y1_3=0;y1_4=0;
y2_1=0;y2_2=0;
y3_1=0;y3_2=0;
y4_1=0;y4_2=0;
u1=0;u2=0;
z11=c2d(sys110.5*delt‘zoh‘);
[num1den1]=tfdata(z11‘v‘);
z12=c2d(sys120.5*delt‘zoh‘);
[num2den2]=tfdata(z12‘v‘);
z21=c2d(sys210.5*delt‘zoh‘);
[num3den3]=tfdata(z21‘v‘);
z22=c2d(sys220.5*delt‘zoh‘);
[num4den4]=tfdata(z22‘v‘);

%在線計(jì)算
for?k=1:nn
y111=num1(1)*u1+num1(2)*u1_

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件????2134489??2019-06-21?16:14??DMC_ttf_huitudou.pdf

?????文件???????4599??2019-06-21?20:34??DMC.m

-----------?---------??----------?-----??----

??????????????2139088????????????????????2


評(píng)論

共有 條評(píng)論