-
大小: 47KB文件類型: .m金幣: 1下載: 0 次發布日期: 2021-06-04
- 語言: Matlab
- 標簽: 魯棒??H-infinity??
資源簡介
該程序的主要目的是給出魯棒H無窮控制器的設計過程,并通過繪圖形象反映仿真結果,具有較高的參考價值。
代碼片段和文件信息
%__________________________________________________________
%
%??tank_DKiteration.m
%
%??Perform?an?H_infinity/mu?synthesis?design?for?a?process
%??tank?system.???The?main?purpose?of?this?code?is?to
%??demonstrate?the?use?of?the?software?for?robust?H_infinity
%??control?design.
%
%??Requires?version?3.0?(Sept/2004)?of?the?robust?control
%??toolbox.
%
%??Roy?Smith??23/May/2006
%
%__________________________________________________________
%??The?system?consists?of?a?water?tank?with?controlled?hot?and
%??cold?water?inlet?flows.??An?outlet?flow?is?located?at?the
%??bottom?of?the?tank.???The?measured?variables?of?interest
%??are?the?level?and?temperature?of?the?water?in?the?tank.
%??The?tank?system?and?the?perturbation?model?is?described?in:
%
%???“Model?validation?for?robust?control:?an?experimental?process
%???control?application“??Roy?S.?Smith??Automatica?Vol.?31?
%???No.?11?pp.?1637-1647?1995.
%??_________________________________________________________
clear?all
%??Nominal?model:
%??Physical?constants:??(scaled?dimensionless?units)
A1?=?91.4;??????%?tankcross-sectional?area
alpha?=?1.34;???%?exit?flow?gain
beta?=?0.6;?????%?exit?flow?bias
th?=?1.0;???????%?hot?water?temperature
tc?=?0.0;???????%?cold?water?temperature
act_tc?=?0.05;??%?actuator?time?constant
%??Nominal?operating?point:
h1nom?=?0.47;
t1nom?=?0.5;
%??Linearized?model?with?
%?????input?variables:??[fh;?fc]
%?????state?variables:??[E;?f1]
%?????output?variables:?[h1;?t1]
A_tank?=?[-(1+beta/h1nom)/(A1*alpha)?beta*t1nom/(A1*h1nom);
??????0???-1/(A1*alpha)?];
????
B_tank?=?[th/A1??????????tc/A1;
?????1/(A1*alpha)??1/(A1*alpha)];
???
C_tank?=?[0????????alpha;
?????1/h1nom?-t1nom*alpha/h1nom];
D_tank?=?[0?0;
?????0?0];
???
P_tank?=?ss(A_tankB_tankC_tankD_tank);
%???Actuator?model.
%???We?use?a?model?of?the?form:??exp(-theta*s)*k/(tau*s?+?1)
%???with??0.8?<=?k?<=?1.2??1.5?<=?tau?<=?2.5?and?0.5?<=?theta?<=?1.0.
%???A?second?order?Pade?approximation?models?the?delay.
s?=?tf(‘s‘);
P_act?=?(s^2?-?8*s?+?21.3)/((2*s+1)*(s^2+8*s+21.3));
%???Examine?the?frequency?response.
omega?=?logspace(-42250);
P_tank_f?=?frd(P_tankomega);
P_act_f?=?frd(P_actomega);
figure(1)
subplot(211)???????????
loglog(abs(P_tank_f(11))abs(P_tank_f(12))...
???????abs(P_tank_f(21))abs(P_tank_f(22))...
???????abs(P_act_f));
axis([min(omega)max(omega)1e-510])
grid
legend(‘h1?<-?fh‘‘h1?<-?fc‘‘t1?<-?fh‘‘t1?<-?fc‘‘P_{act}‘)
xlabel(‘Frequency?[rad/sec]‘)
ylabel(‘Magnitude‘)
r2d?=?180/pi;
subplot(212)
semilogx(r2d*unwrap(angle(P_tank_f(11)))r2d*unwrap(angle(P_tank_f(12)))...
???????r2d*unwrap(angle(P_tank_f(21)))r2d*unwrap(angle(P_tank_f(22)))...
???????r2d*unwrap(angle(P_act_f)))
grid
xlabel(‘Frequency?[rad/sec]‘)
ylabel(‘Phase?[deg]‘)
title(‘Nominal?model‘)
%???--------------?Perturbation?weights?---------------------
%???Actuator?model??(see?Laugh
- 上一篇:壓縮感知測量矩陣產生
- 下一篇:MATLAB基于幾何圖形法的障礙物地圖構建算法
評論
共有 條評論