数学建模社区-数学中国

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

作者: deven1985    时间: 2011-8-23 10:39
标题: 求助一个程序
给予组合趋近律的变结构控制,程序如下:* W4 v0 E! ~# X2 s3 X
clear all;- V  U* Q* A% Q+ z
close all;
* @1 b: ?# S* S. `2 q6 R1 Va=25;b=133;
* J( h- `9 H+ F! ?2 _ts=0.001;
$ _. l! U' y& x9 p) D# M1 C$ cA1=[0,1;0,-a];
4 I7 x& d! j4 kB1=[0;b];: X+ G! d, m4 W8 q/ `: A
C1=[1,0];- n7 g. H$ y& Y$ m0 s8 P# K) v
D1=0;6 m0 ?% X+ L  ]
[A,B,C,D]=c2dm(A1,B1,C1,D1,ts,'z');
& V9 A& B  @0 A& Fx=[-0.8;-0.5];4 q) d0 K, S2 k+ G( `# e# l
r_1=0;r_2=0;' L- S0 f) V1 `0 C7 Z; C7 q
c=20;# `# A) U/ ]6 W: @
eq=5;. ]* r, Z3 a) f' }( x: @2 g
q=30;
. @' S. Z+ q5 ?' O% T5 u* s& VCe=[c,1];
% C- r  h3 O6 m& o/ H& T+ J  x. Ufor k=1:1:20003 w( B: d$ m* ?" q* K
        time(k)=k*ts;# m/ |2 E4 R% U" @4 I
   r(k)=1.0;
8 D% c  k6 F  H   1 D1 K( ?. _- H3 p1 G
   %Using Waitui method   ! [, G5 D) m& B8 e" B4 c* m- M5 R
   dr(k)=(r(k)-r_1)/ts;9 b& F- |; j& f# s6 R7 u8 T  l4 w4 C
   dr_1=(r_1-r_2)/ts;
5 \$ J+ h7 }/ B% c) ]8 r   r1(k)=2*r(k)-r_1;
- T' b6 Z7 D! j" f& ~2 W0 p- i) V' `   dr1(k)=2*dr(k)-dr_1;
2 L5 {' U9 [5 [0 D! R  6 y, @, }8 i3 E, ~1 x- y( p6 v  J* h7 T
   R=[r(k);dr(k)];
/ O, t; L* ], K% L) y6 d7 \   R1=[r1(k);dr1(k)];, _4 y' U0 N  d- \6 r3 C# [
   - x. ~) B& Q, g" U  w* k
   E=R-x;
" a2 u* X: X6 @7 o4 @0 b8 _# `" ?   e(k)=E(1);
$ r& M  W  m. M+ K: C   de(k)=E(2);3 T. j/ n$ P2 g/ t/ f( x" u. U% Y  w" `
   ( V6 ^" J' G) G7 N* q- i6 p; p8 ?
   s(k)=Ce*E;0 j7 K5 M+ R1 f6 r
   
. Y+ W# c/ l7 B. o   X1=abs(e(k))+abs(de(k));
1 j, R! Z4 K% \+ T   
: y- W0 E% b( a8 V+ z, sM=2;   3 ?( F% r8 @; U4 J
if M==1             %EXP reaching law
" R) W, A/ ~) i) m) m/ I3 n/ d! V   ds(k)=-eq*ts*sign(s(k))-q*ts*s(k);
6 g! B% V4 W0 E0 u! Q   u(k)=inv(Ce*B)*(Ce*R1-Ce*A*x-s(k)-ds(k));) \+ M6 q" j) x& i7 H0 Z
elseif M==2         %Variable rate reachine law6 v. B1 x" s# E5 c$ T! K! [; T
   ds(k)=-eq*ts*X1*sign(s(k));3 k5 }# d+ ~8 x) @
   u(k)=inv(Ce*B)*(Ce*R1-Ce*A*x-s(k)-ds(k));
1 h: C* `: l* ~0 v$ B2 l- e5 r5 felseif M==3         %Coposite reaching law) J9 {$ i; h7 k: _+ t
   k0=0.60;
0 I' a  C( Z; }' A* M   if X1>k0          %EXP reachine law
9 a: Y3 ~3 ~) G0 t, g           ds(k)=-eq*ts*sign(s(k))-q*ts*s(k);: m) y  b7 d# a- N" q8 c. M
           u(k)=inv(Ce*B)*(Ce*R1-Ce*A*x-s(k)-ds(k));
1 r* T" j" t- f% e3 V! ^% M   elseif X1<=k0     %Variable rate reachine law+ H3 {6 B) C$ z3 C
   ds(k)=-eq*ts*X1*sign(s(k));# L; h2 P% c8 E% N1 k
   u(k)=inv(Ce*B)*(Ce*R1-Ce*A*x-s(k)-ds(k));
* r5 U% _% N: w( X   end$ j; u2 Q+ b1 U. \1 J+ h
end
9 H% ?7 ?( U7 U5 z5 iif u(k)>=10
+ W. I5 V3 ]8 a  J9 W   u(k)=10;
  _8 W7 V5 S* S- ]! gend
, j: p2 }) c; S) p7 Y" g4 Z; Dif u(k)<=-10
. g8 W/ b" C7 @   u(k)=-10;
2 a* A/ Z  H5 ~5 Q+ iend; l/ p( I2 |* k  B. G
x=A*x+B*u(k);
' \# J; F- i1 Y1 M; |+ ^# ^y(k)=x(1);7 m: L3 W( z* v$ X2 j. z7 n' v4 }
%Update Parameters8 S! o' I; k9 Q  B/ f; k3 s
r_2=r_1;7 U8 e( P& ?4 {& z1 s: @% L% K
r_1=r(k);0 j. H! g* J- v+ {& \% L4 a/ s
end0 Q" c  \7 _2 R% Q0 y
figure(1)
6 p( r- K3 B/ Y4 bplot(time,r,'r',time,y,'b');/ P7 q6 \  c5 j9 Q2 X9 x! x
xlabel('Time(second)');ylabel('Position tracking');4 \0 F7 r. m) @7 G2 S
figure(2)
" V% P0 e4 b0 [plot(time,s,'r');& E4 G& A2 N* L& S* ~5 V% g- [
xlabel('Time(second)');ylabel('Switch function s');# n/ n& G, @: P; W" J
figure(3): j5 ?$ c6 U: \+ m
plot(e,de,'r',e,-c*e,'b');( W, z" z: y( n& [! Q; E: G
xlabel('e');ylabel('de');: x6 h- M1 d# ~  ]
figure(4)
3 X7 \9 F- I: Y8 Oplot(time,u,'r');* D$ q, U$ I, e+ o8 r8 `
xlabel('Time(second)');ylabel('u');
, S8 ?$ V2 H$ Y
: {2 u. ]9 m# M* R; |8 [% Q9 Z请问最后的4个图分别是什么意识,本人新手,谢谢大家了!




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