数学建模社区-数学中国

标题: 求助一个程序 [打印本页]

作者: deven1985    时间: 2011-8-23 10:39
标题: 求助一个程序
给予组合趋近律的变结构控制,程序如下:
# Y% N7 M$ _8 h4 b* j- Bclear all;
4 D, Z1 q& m. D: _0 W4 B  A* Wclose all;: t# B& ~/ F: b( e: R  s( ^( j
a=25;b=133;
( P! D- A/ V! W3 g& i- }8 ]ts=0.001;' u' X. O# q. B# \2 j9 W9 R0 ~4 y4 v- P. d
A1=[0,1;0,-a];
) h) h1 l1 |) kB1=[0;b];: j4 M$ s$ R1 C; A$ l1 z
C1=[1,0];
' E( C; R7 ^, |  o# k2 ^; u5 yD1=0;" r1 a5 j$ |# X: K
[A,B,C,D]=c2dm(A1,B1,C1,D1,ts,'z');
8 ^: f9 ]4 Z, J4 Y) Lx=[-0.8;-0.5];
" j" P5 O7 N8 N+ b& ]& O- er_1=0;r_2=0;/ t4 t2 X1 e" y4 ]4 F& m9 V* x9 z
c=20;$ o7 `' t( T) S) g/ f$ Q) y/ k
eq=5;  D5 x; ~% [! f9 b  c1 V
q=30;
6 u: {, L' V- T, h2 |Ce=[c,1];6 ?1 h1 m- o4 a: h
for k=1:1:2000! V% {8 q. `/ I
        time(k)=k*ts;& _" v% |$ W9 Z$ ]5 p
   r(k)=1.0;) S$ D( e0 U3 c6 E! f
   
5 k& v. V+ T- ?! x; @6 M   %Using Waitui method   
+ X  P( G5 ?8 d: F2 `% w7 ~7 [' Z$ p   dr(k)=(r(k)-r_1)/ts;9 @* Y$ w" e' ~7 u/ W) l
   dr_1=(r_1-r_2)/ts;
( k, T$ b0 z) h& ~! |6 G   r1(k)=2*r(k)-r_1;: g; h* y' E( L9 @9 a. m
   dr1(k)=2*dr(k)-dr_1;
9 a% T9 M5 B! V5 j  d  + V8 s; B$ G" K6 Z! o
   R=[r(k);dr(k)];
7 ^  e3 D2 _$ }( t- Y3 Y   R1=[r1(k);dr1(k)];
, a% I2 _' @- i/ J   
/ s( o. b5 c  X& e. n# K1 K# j   E=R-x;9 J' v3 _7 @: t; D( U2 \/ V
   e(k)=E(1);9 T! g4 ^9 O: L" ?4 u
   de(k)=E(2);' b) d0 ^" s& y9 q& ~# ]$ U
   
8 o* A3 I, k( A   s(k)=Ce*E;& D" I5 M5 d( T! N8 G
   
. l5 |% L  L* m   X1=abs(e(k))+abs(de(k));8 E% a3 w. f! X, s  a# E
   
4 g& ]) G/ X. ]! m, N3 a5 rM=2;   + |" \# O$ ^+ ]; n( r
if M==1             %EXP reaching law: h! P4 T# W( m, @
   ds(k)=-eq*ts*sign(s(k))-q*ts*s(k);
' J0 c% H% A) {# d4 o   u(k)=inv(Ce*B)*(Ce*R1-Ce*A*x-s(k)-ds(k));
! I1 z1 }) K" s" d5 `elseif M==2         %Variable rate reachine law
: h( a. g. r0 |* n3 f0 Q0 w1 ^   ds(k)=-eq*ts*X1*sign(s(k));' I  m/ Q  A: @; S
   u(k)=inv(Ce*B)*(Ce*R1-Ce*A*x-s(k)-ds(k));
' O: V4 v3 a1 Q+ g+ }- x7 N& delseif M==3         %Coposite reaching law6 S2 m$ z" Y" F3 H: ]
   k0=0.60;
& F0 F* f2 V: O' i/ O   if X1>k0          %EXP reachine law
/ G% R& m8 S5 ~& i$ p           ds(k)=-eq*ts*sign(s(k))-q*ts*s(k);$ S# }6 S3 I7 v  G
           u(k)=inv(Ce*B)*(Ce*R1-Ce*A*x-s(k)-ds(k));
5 t) N# w! b$ D5 A   elseif X1<=k0     %Variable rate reachine law' M0 y0 a# D! ?/ T9 M) p3 }
   ds(k)=-eq*ts*X1*sign(s(k));
6 V5 h+ X: y  F' F   u(k)=inv(Ce*B)*(Ce*R1-Ce*A*x-s(k)-ds(k));% ]# D! C7 [4 Z" p: S
   end
9 _: x) K% L- G7 d/ T  R( dend$ H/ ?9 E. s: L* t& e6 E7 g* g
if u(k)>=10
* z: @4 R2 J. e   u(k)=10;
$ p1 D! |: b! T8 |8 }; vend
, i8 z' ^7 x9 U9 i/ q# j) \- |if u(k)<=-10. [5 a6 r: o6 b0 ]  Z1 J
   u(k)=-10;
4 S7 b" X* ^$ [$ {end0 a/ \& s5 Y3 m
x=A*x+B*u(k);
4 G( i& D5 ~; U  my(k)=x(1);2 L) S; t5 [, U6 r9 x5 t, Y
%Update Parameters
( S% q: X: Y$ [% A$ _/ Cr_2=r_1;6 S7 b! R' M# E4 A
r_1=r(k);
9 L% P7 |/ Y! Q, u2 Aend5 W3 o2 y6 l: O! a" b0 Z
figure(1)" [! j- I3 E" @) ?8 q. u' T
plot(time,r,'r',time,y,'b');1 H2 t7 y2 \. ?# Y4 v; E3 f
xlabel('Time(second)');ylabel('Position tracking');
- q6 w8 o+ o2 X3 pfigure(2)( \# W2 B$ J/ g$ f0 K0 |
plot(time,s,'r');4 B4 D# c: ]8 n9 L
xlabel('Time(second)');ylabel('Switch function s');
" ?' U! `7 E! lfigure(3): |; ]# q! W! i  R" R
plot(e,de,'r',e,-c*e,'b');+ c" n: J9 o7 i9 a1 Z8 ^# G# ]
xlabel('e');ylabel('de');
2 k/ {$ D4 l3 `9 t) D2 A6 Qfigure(4)
4 A; n0 c* f& k- r* E7 ~+ Z6 yplot(time,u,'r');: Y1 L6 P4 ~3 v) c  x: K
xlabel('Time(second)');ylabel('u');
9 ?5 `6 o0 R/ s; F, K  C9 [6 t1 x9 A- K0 w7 Z
请问最后的4个图分别是什么意识,本人新手,谢谢大家了!




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5