数学建模社区-数学中国
标题:
求助一个程序
[打印本页]
作者:
deven1985
时间:
2011-8-23 10:39
标题:
求助一个程序
给予组合趋近律的变结构控制,程序如下:
( s6 g; C/ E" _9 b# J# H8 n
clear all;
( z$ |: f. A& W* k' r
close all;
, d) w3 c" Z/ K% R/ N
a=25;b=133;
: K7 m2 t5 J- _$ m+ Z& j
ts=0.001;
- M7 j7 Z4 h, T* g' Q. I& R2 q8 e
A1=[0,1;0,-a];
" [2 C' M P+ P! h
B1=[0;b];
- x' T9 w' }/ Y2 t. Y0 k! S% c
C1=[1,0];
# e' Q% I- |; M$ a) ~$ {
D1=0;
+ U9 E9 F$ O, s+ B9 k4 ?
[A,B,C,D]=c2dm(A1,B1,C1,D1,ts,'z');
, \8 u# z& H% I
x=[-0.8;-0.5];
0 q$ g9 D5 k$ R7 }9 M
r_1=0;r_2=0;
$ h7 q! d0 T# q% u- k
c=20;
' S+ Y; r- M0 v% i( k
eq=5;
# S+ \% V' M4 {/ f' {$ ?% p( {8 V* T
q=30;
4 _2 B, ~6 w4 v% |7 A, ^4 ?( U1 ]+ U
Ce=[c,1];
1 f- v1 N, k) o2 |, d/ f4 b
for k=1:1:2000
s+ A! i" I) y! W7 L, W/ s
time(k)=k*ts;
% R- g2 i/ p8 L% x. w3 H3 G
r(k)=1.0;
; j- [& ^0 _7 a: a: U' g) Y. \
8 _6 Q' p4 [5 l7 I# W
%Using Waitui method
: S) @ {1 K9 u: |# D4 \2 b. o3 p- `
dr(k)=(r(k)-r_1)/ts;
; c0 z0 Y3 L$ W: i7 \
dr_1=(r_1-r_2)/ts;
8 E! \1 J2 k" K5 L$ T' K. H
r1(k)=2*r(k)-r_1;
# P1 r0 ]: O" @* C
dr1(k)=2*dr(k)-dr_1;
7 K! s- [4 W( k" }) [, P0 F
$ X9 X! K2 o+ `/ l1 |+ |1 x# i
R=[r(k);dr(k)];
7 B! x' X5 `3 N3 W8 g
R1=[r1(k);dr1(k)];
2 U. C; Q, V6 e. d, \, ~+ b
2 F1 J& N+ p0 A, i2 |
E=R-x;
0 [7 _: `3 f: J; J- d5 i! m
e(k)=E(1);
' g2 l( E" h' J4 \; P4 J5 `
de(k)=E(2);
% _7 {- I) @( |& T& S X" b
5 v- `8 u; I% W
s(k)=Ce*E;
1 r" s1 i+ @% q
( @, ^* \: M) b1 U2 A
X1=abs(e(k))+abs(de(k));
; k% U# U) U) ]5 h. ?6 v
% W2 \5 E- S! K
M=2;
& }8 i6 T/ W* D
if M==1 %EXP reaching law
+ U9 L! e- d5 d2 O3 n" j) _8 p
ds(k)=-eq*ts*sign(s(k))-q*ts*s(k);
7 l1 Z9 F5 J* W. E- C3 \7 d7 s2 M7 z
u(k)=inv(Ce*B)*(Ce*R1-Ce*A*x-s(k)-ds(k));
j) P; U5 o w. q5 }8 h3 N2 y
elseif M==2 %Variable rate reachine law
3 ?0 {$ v$ w. j7 _1 X/ a+ }6 Q
ds(k)=-eq*ts*X1*sign(s(k));
8 f, C. n# ^5 ~1 R
u(k)=inv(Ce*B)*(Ce*R1-Ce*A*x-s(k)-ds(k));
8 a& T# v9 Y( `/ ~ d
elseif M==3 %Coposite reaching law
+ u, l7 ?+ f( M, }
k0=0.60;
5 w) M- }- b p! A% N
if X1>k0 %EXP reachine law
& ]/ m# S) V7 t- D
ds(k)=-eq*ts*sign(s(k))-q*ts*s(k);
6 l5 M! X) r4 A5 B$ H; O1 _" T' l
u(k)=inv(Ce*B)*(Ce*R1-Ce*A*x-s(k)-ds(k));
3 o. O" I8 S+ {
elseif X1<=k0 %Variable rate reachine law
6 V4 l# [$ _, P$ j$ C3 X
ds(k)=-eq*ts*X1*sign(s(k));
i3 S9 Q9 ?7 I: \! K0 U5 ~
u(k)=inv(Ce*B)*(Ce*R1-Ce*A*x-s(k)-ds(k));
3 V) ]2 _! \/ p& A* W m+ J
end
% @- b' z, E# l" m; N
end
5 k: }* ~, H: S. h
if u(k)>=10
2 F6 P8 d/ j @- T! P% y
u(k)=10;
5 Q+ D# G, d( e# o, K4 J3 M
end
, v8 U3 T( b `6 X9 u1 ^4 o# `
if u(k)<=-10
0 K9 l# L% z5 J4 o" }
u(k)=-10;
8 K: N [5 e: ~- o
end
7 l( p2 Q% t& x" e, Z: ?
x=A*x+B*u(k);
* {, ~0 Z/ P( {9 @' k
y(k)=x(1);
% K$ ~6 a5 p" H% Q5 O/ E5 l
%Update Parameters
5 E) a3 B, h4 { l& x
r_2=r_1;
; B |! B5 h: X5 z
r_1=r(k);
+ R$ l1 ` }2 {% \" K3 w
end
9 [/ ~6 E" i& J1 a$ R
figure(1)
! M0 T$ h( N. V# c
plot(time,r,'r',time,y,'b');
9 M1 P [$ a1 M" p" F) Y$ |" p
xlabel('Time(second)');ylabel('Position tracking');
5 X1 y$ B( F2 p% x$ T" q7 q
figure(2)
' F0 P6 ^4 p$ B6 A9 i. g" V7 Q' D
plot(time,s,'r');
( g! n p+ Q% K. e2 a1 i8 }+ _& _
xlabel('Time(second)');ylabel('Switch function s');
' Q! [& g& ~) [* `% v2 Q/ h* x
figure(3)
! d6 C/ x2 V: W- y+ y& D
plot(e,de,'r',e,-c*e,'b');
; r) a: \/ i+ y3 M- h4 ?
xlabel('e');ylabel('de');
# `! e- E/ C* c2 F9 w: \4 n$ q3 U
figure(4)
5 g1 x4 S6 b, [- Q8 P" Y ^
plot(time,u,'r');
; o+ W$ e8 a- p( p
xlabel('Time(second)');ylabel('u');
1 w J: H* r$ a6 |+ o( H
# R5 `: `, K9 `: |% x) I2 N
请问最后的4个图分别是什么意识,本人新手,谢谢大家了!
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5