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

資源簡介

多入多出非線性預測控制,可拿來做研究和學習。

資源截圖

代碼片段和文件信息

clear?all
load?wentaishuju.mat;
load?ARX.mat;
load?BPmoxing.mat;
%-----------參數設定------------------%
nu=2;????%系統的輸入維數
ny=2;?
P=5;
M=3;
c=0.5;
d=0;
P>d;
(P-d)>=M;??%所給出的初始值一定要滿足的條件
miu=0.4;???%??miu是調節模型參數的遺忘因子在0~1范圍內調節
a=0.9;
I=eye(ny);
dus=[0.04;0.04];???%用來求解增益Kc和Kn的輸入量的小的變化量
x0=[1;1;1;1;1;1];
s1=[40?40?40?40?40?40?40?40?40?40];
s2=[10?10?10?10?10?10];
Q=diag(s1);
R=diag(s2);
%H=[0.1*I;0.1*I;0.1*I;0.1*I;0.1*I];%?暫定為0.1*I
%H1=ones(51);
%H2=zeros(51);
H=[I;I;I;I;I];
%H=[H1?H2;H2?H1];??%修改了H后?與原文不同
%-----------參考軌跡------------------%
for?i=1:3;
????y1sp(i)=0;
end
for?i=4:100;
????y1sp(i)=2;
end
for?i=101:200;
????y1sp(i)=2;
end
for?i=201:250;
????y1sp(i)=3;?
end
for?i=251:300;
????y1sp(i)=3;
end
for?i=301:400;
????y1sp(i)=2;
end


for?i=1:20;
????y2sp(i)=0;
end
for?i=21:150;
????y2sp(i)=3;
end
for?i=151:250;
????y2sp(i)=3;
end
for?i=251:320;
????y2sp(i)=2;?
end
for?i=321:400;
????y2sp(i)=3;
end
ysp=[y1sp;y2sp];??%兩輸出設定值組合矩陣
for?i=1:ny;
%Vr(ik)=vr(k+i);
C1(i1)=c;
%C1(i1)=1-c^i;
end
C=diag(C1);



%-----------初始模型的參數Kc----------------%
%{
for?i=1:NO;???????????????????????????????????%
??????if?(yr(1)>=ys(i))&&(yr(1)<=ys(i+1));
??????????ysg=ys(i+1);
??????????ysl=ys(i);
??????????break
??????end
end
?Kc1=(ysg-ysl)/dumin;
%theta(:1)=[a11;a12;b1*Kc1;b2*Kc1];?%Kc1是us(1)對應的動態增益
for?i=1:NO;
??????if?(yr(2)>=ys(i))&&(yr(2)<=ys(i+1));
?????????ysg=ys(i+1);
?????????ysl=ys(i);
??????????break
??????end
end
?Kc2=(ysg-ysl)/dumin;
?%theta(:2)=[a11;a12;b1*Kc2;b2*Kc2];?%Kc2是us(2)對應的動態增益
?
?I=[1?0?0?0;0?1?0?0;0?0?1?0;0?0?0?1];
P1=(a^2)*I;

%}
%---------------預測循環開始-------------%
for?i=1:2;
yc(1:2i)=0.0001;
%v(i)=0.0001;
%u(i)=0.0001;
%x(i)=0.0001;
end
y(:1)=[0;0];
u(:1)=[1;0];
y(:2)=[0;0];
y(:3)=[0;0];
u(:2)=[1;0];
du(:1)=[0;0];
du(:2)=[0;0];

step=300;
for?k=2:step;
????%{
????????u11=u(1k-1);
????????u12=u(2k-1);
????????[tx1]=ode45(‘myssFun‘[0?500][40?0.17]);%初始化狀態變量
????????[hl]=size(x1);
????????x1(h1)=abs(x1(h1));
????????x1(h2)=abs(x1(h2));
????????y1(k)=x1(h1);???????%?單輸出數據
????????y2(k)=x1(h2);
????????y(:k)=[y1(k);y2(k)];?%?混合輸出數據的對應矩陣
???
????uz=u(1k-1);
????u(1k-1)=u(2k-1);
????u(2k-1)=uz;
?????%}
????y(:k)=sim(network1u(:k-1));
dy(:k)=y(:k)-y(:k-1);
%Yr(:k)=C*y(:k)+C1*ysp(:k+d);
yr(:k)=y(:k);??%第k步的參考軌跡是第k步的實際輸出值
for?i=1:P;
????yr(:k+i)=C*yr(:k+i-1)+(I-C)*ysp(:k);
????[hl]=size(yr(:k+i));
????Yr((i*h-h+1):i*hk)=yr(:k+i);??%Yr是一個(ny*P)*1的列向量
end

%for?i=2:NO-1;
????%??if?(y(k)>=ys(i))&&(y(k)<=ys(i+1));
????%?????ysg=ys(i+1);
????%?????ysl=ys(i);
????????
????%??????break
?????%?end
%end
%usc=YU(i2);
%?Kc=(ysg-ysl)/dumin;???%求得滾動變化的Kc
%?for?i=2:NO-1;
??%????if?(yr(k+1)>=ys(i))&&(yr(k+1)<=ys(i+1));
??%???????ysg=ys(i+1);
?%????????ysl=ys(i);
?%?????????break
??%????end
%?end
%usn=YU(i2);
%?Kn=(ysg-ysl)/dumin;???%求得滾動變化的Kn


%----------------

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????148266??2010-08-26?14:59??BPmoxing.mat
?????文件???????84013??2013-12-24?15:57??wentaishuju.mat
?????文件???????15520??2010-12-01?11:38??zuhemoxingcontrol.m
?????文件?????????448??2010-11-06?14:59??ARX.mat

評論

共有 條評論