数学建模社区-数学中国
标题:
求助一个程序
[打印本页]
作者:
deven1985
时间:
2011-8-23 10:39
标题:
求助一个程序
给予组合趋近律的变结构控制,程序如下:
# Y% N7 M$ _8 h4 b* j- B
clear all;
4 D, Z1 q& m. D: _0 W4 B A* W
close 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 |) k
B1=[0;b];
: j4 M$ s$ R1 C; A$ l1 z
C1=[1,0];
' E( C; R7 ^, | o# k2 ^; u5 y
D1=0;
" r1 a5 j$ |# X: K
[A,B,C,D]=c2dm(A1,B1,C1,D1,ts,'z');
8 ^: f9 ]4 Z, J4 Y) L
x=[-0.8;-0.5];
" j" P5 O7 N8 N+ b& ]& O- e
r_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 r
M=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& d
elseif M==3 %Coposite reaching law
6 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( d
end
$ 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 }; v
end
, 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* ^$ [$ {
end
0 a/ \& s5 Y3 m
x=A*x+B*u(k);
4 G( i& D5 ~; U m
y(k)=x(1);
2 L) S; t5 [, U6 r9 x5 t, Y
%Update Parameters
( S% q: X: Y$ [% A$ _/ C
r_2=r_1;
6 S7 b! R' M# E4 A
r_1=r(k);
9 L% P7 |/ Y! Q, u2 A
end
5 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 p
figure(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! l
figure(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 Q
figure(4)
4 A; n0 c* f& k- r* E7 ~+ Z6 y
plot(time,u,'r');
: Y1 L6 P4 ~3 v) c x: K
xlabel('Time(second)');ylabel('u');
9 ?5 `6 o0 R/ s; F, K C
9 [6 t1 x9 A- K0 w7 Z
请问最后的4个图分别是什么意识,本人新手,谢谢大家了!
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5