数学建模社区-数学中国
标题:
求助一个程序
[打印本页]
作者:
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 V
a=25;b=133;
* J( h- `9 H+ F! ?2 _
ts=0.001;
$ _. l! U' y& x9 p) D# M1 C$ c
A1=[0,1;0,-a];
4 I7 x& d! j4 k
B1=[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& F
x=[-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& V
Ce=[c,1];
% C- r h3 O6 m& o/ H& T+ J x. U
for k=1:1:2000
3 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, s
M=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 law
6 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 f
elseif 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 i
if u(k)>=10
+ W. I5 V3 ]8 a J9 W
u(k)=10;
_8 W7 V5 S* S- ]! g
end
, j: p2 }) c; S) p7 Y" g4 Z; D
if u(k)<=-10
. g8 W/ b" C7 @
u(k)=-10;
2 a* A/ Z H5 ~5 Q+ i
end
; 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 Parameters
8 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
end
0 Q" c \7 _2 R% Q0 y
figure(1)
6 p( r- K3 B/ Y4 b
plot(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 O
plot(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