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

資源簡介

利用matlab實現H-infinity魯棒控制,學習魯棒控制matlab編程的很好教程

資源截圖

代碼片段和文件信息

%下面的代碼展示了如何在Matlab中進行H-infinity控制器的設計。此處舉的例子與混合
%S/KS問題有些不同。此處用到的模型和權重函數見Skogestad和Postlethwaite,1996,
%ed.1p.60.權重函數并不是“最優”的。
%
%大部分函數來自mu-tools,一些來自lmi-tools。mu-tools和lmi-tools均包含在RCT?
%v3.0.1中。
%-Jorgen?Johnsen?14.12.06

%-------------------------------------------------------------------------
%建立子系統
%-------------------------------------------------------------------------
%Plant:G=200/((10s+1)(0.05s+1)^2)
%方法1:直接方法,利用mu-tools
G=nd2sys(1conv([101]conv([0.051][0.05?1]))200);
%方法2:control?system?toolbox
s=tf(‘s‘);
Gcst=200/((10*s+1)*(0.05*s+1)^2);
[abcd]=ssdata(balreal(Gcst));
G=pck(abcd);

%權重:Ws=(s/M+w0)/(s+w0*A)Wks=1
M=1.5;w0=10;A=1.e-4;
Ws=nd2sys([1/M?w0][1?w0*A]);
Wks=1;

%-------------------------------------------------------------------------
%建立廣義系統P
%-------------------------------------------------------------------------
%方法0:直接方法
%/z1\??/Ws?-Ws*G\?/r\
%|z2|?=|0???Wks?|?|?|?
%\?v/??\I???-G??/?\u/?

%傳遞函數表達方法
Z1=sbs(Wsmmult(-1WsG));
Z2=sbs(0Wks);
V=sbs(1mmult(-1G));
P0=abv(Z1Z2V);
%通常情況下P0并不是最小實現,所以需要降階
[abcd]=unpck(P0);
[abbbcbdb]=ssdata(balreal(minreal(ss(abcd))));
P0=pck(abbbcbdb);?%此時得到變量為System類型

%-------------------------------------------------------------------------
%建立廣義系統P
%-------------------------------------------------------------------------
%方法1:直接方法
%/z1\??/W1?-W1*G\?/r\
%|z2|?=|0???W2?|??|?|?
%\?v/??\I???-G??/?\u/?

%子系統的ss實現
[ABCD]=unpck(G);
[A1B1C1D1]=unpck(Ws);
[A2B2C2D2]=unpck(Wks);

%計算不同子系統的輸入、輸出變量的個數
n1=size(A11);[q1p1]=size(D1);
n2=size(A21);[q2p2]=size(D2);
n=size(A1);[qp]=size(D);%原文此處為[pq]=size(D);

%全系統的ss實現
Ap=[A1?zeros(n1n2)?-B1*C;
????zeros(n2n1)?A2?zeros(n2n);
????zeros(nn1)?zeros(nn2)?A];
Bp=[B1?-B1*D;
????zeros(n2p)?B2;
????zeros(np)?B];
Cp=[C1?zeros(q1n2)?-D1*C;
????zeros(q2n1)?C2?zeros(q2n);
????zeros(qn1)?zeros(qn2)?-C];
Dp=[D1?-D1*D;
????zeros(q2p)?D2;
????eye(p)?-D];
%得到均衡實現形式,以減少可能產生的計算問題
[ApbBpbCpbDpb]=ssdata(balreal(ss(ApBpCpDp)));
P1=pck(ApbBpbCpbDpb);????%P1與P0數值相近,但符號有差別

%-------------------------------------------------------------------------
%建立廣義系統P
%-------------------------------------------------------------------------
%方法2:利用sysic函數
systemnames=‘G?Ws?Wks‘;
inputvar=‘[r(1);u(1)]‘;%所有輸入均為標量,r(2)為兩維信號
outputvar=‘[Ws;Wks;r-G]‘;
input_to_G=‘[u]‘;
input_to_Ws=‘[r-G]‘;
input_to_Wks=‘[u]‘;
sysoutname=‘P2‘;
cleanupsysic=‘yes‘;
sysic

%-------------------------------------------------------------------------
%建立廣義系統P
%-------------------------------------------------------------------------
%方法3:利用sconnect函數
inputs=‘r(1);u(1)‘;
outputs=‘Ws;Wks;e=r-G‘;
K_in=[];%無控制器
G_in=‘G:u‘;
Ws_in=‘Ws:e‘;
Wks_in=‘Wks:u‘;
[P3r]=sconnect(inputsoutputsK_inG_inGWs_inWsWks_inWks);

%-------------------------------------------------------------------------
%建立廣義系統P
%-------------------------------------------------------

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????6684??2011-12-08?00:09??robustcontrol.m

?????文件?????108790??2011-12-07?17:22??hinfcontrol.pdf

?????文件?????286208??2011-12-08?00:08??利用matlab實現魯棒控制.doc

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

???????????????401682????????????????????3


評論

共有 條評論