数学建模社区-数学中国
标题:
求助一个程序
[打印本页]
作者:
deven1985
时间:
2011-8-23 10:39
标题:
求助一个程序
给予组合趋近律的变结构控制,程序如下:
6 b$ W9 v G$ U; C" K! ~) L
clear all;
3 {" J' n7 g3 W! x$ i
close all;
+ S: d' ~8 f! o4 R1 n. }
a=25;b=133;
! w1 V: x% A/ {# I% K
ts=0.001;
- U: J* I' r q( Q* h( `7 Y/ \ o' I' i
A1=[0,1;0,-a];
" @8 p* B+ I4 m6 J
B1=[0;b];
5 e7 O" A+ c5 n: }/ |2 N
C1=[1,0];
' ]/ \: h% y# g! \# f
D1=0;
& e9 ` Q5 o* F2 ]* E4 K
[A,B,C,D]=c2dm(A1,B1,C1,D1,ts,'z');
% s4 J' K6 r3 I& m+ Y# k
x=[-0.8;-0.5];
( W' g% v' n- U) k# b1 K
r_1=0;r_2=0;
% }+ ~. y" @# u& u0 h) z: f
c=20;
4 C# \3 X( ~1 F! Q5 G/ [3 N
eq=5;
. g! W. r1 V5 q- H* j
q=30;
H! \/ i, d6 O0 x0 g+ L
Ce=[c,1];
/ \% q" _2 H( W0 j0 h+ G( @! t8 @
for k=1:1:2000
, e3 _7 W3 X8 N
time(k)=k*ts;
3 ?% [& |- k X5 s( W- x4 w1 Z3 `& Q
r(k)=1.0;
( o- K0 h1 x8 q1 A" P- v% {' f
$ ?1 U. c6 R6 z3 m' |0 H; ^' Q
%Using Waitui method
$ |. p/ q) `3 Z$ ~
dr(k)=(r(k)-r_1)/ts;
9 ^. A# h% W8 K
dr_1=(r_1-r_2)/ts;
% }8 D4 G0 f3 T4 ?0 L5 {
r1(k)=2*r(k)-r_1;
, V+ R1 j( W# C1 z+ {. A3 b
dr1(k)=2*dr(k)-dr_1;
$ C `' O" S! S* ]/ T9 V
& }/ Z' B: y$ c
R=[r(k);dr(k)];
5 e8 X0 F0 `7 ]% S
R1=[r1(k);dr1(k)];
' F$ G& A& A2 K4 k6 M" `9 r2 V0 R
* a+ H: k* P5 K) ?2 F- I
E=R-x;
9 z) W- w0 P, |( `3 V9 K
e(k)=E(1);
1 O) \# m7 O! R: p x! E
de(k)=E(2);
5 v; H7 D" g9 I8 |+ M L% ~5 i* o; h
. V# r& L! ]: V, F8 O. [4 r2 k* k
s(k)=Ce*E;
/ F! f1 o9 _4 c3 a7 v8 n" q4 b
8 e( Z) U+ t' c( S9 ?9 ^& _ _
X1=abs(e(k))+abs(de(k));
$ H; w& G, J7 Q" @5 t/ g
1 g# x5 }: V. Q9 ]! }8 Z& j
M=2;
2 g% ~$ P3 e# x1 h
if M==1 %EXP reaching law
_8 I; w7 F6 r' M4 E1 Z- m( c
ds(k)=-eq*ts*sign(s(k))-q*ts*s(k);
% A# d1 |9 @" o" f6 Z; m2 \
u(k)=inv(Ce*B)*(Ce*R1-Ce*A*x-s(k)-ds(k));
) S. Q3 O" e& Z$ u0 {
elseif M==2 %Variable rate reachine law
5 M/ O" B/ e7 p6 L
ds(k)=-eq*ts*X1*sign(s(k));
/ t$ s( }' N4 E
u(k)=inv(Ce*B)*(Ce*R1-Ce*A*x-s(k)-ds(k));
% V. [$ W( J1 A9 b! Y, B
elseif M==3 %Coposite reaching law
2 c2 ?: b: A. o2 m% ]
k0=0.60;
# T% h. T7 P5 T/ V# }
if X1>k0 %EXP reachine law
+ I( K; W" h1 z3 E+ C3 L" a3 L# ^
ds(k)=-eq*ts*sign(s(k))-q*ts*s(k);
+ R8 e0 u: z, y" f4 E1 z
u(k)=inv(Ce*B)*(Ce*R1-Ce*A*x-s(k)-ds(k));
8 A9 `* k. Q- `3 B# ]7 l2 b
elseif X1<=k0 %Variable rate reachine law
( B# M) G! `8 I) }4 O
ds(k)=-eq*ts*X1*sign(s(k));
* N) P5 O8 G, y
u(k)=inv(Ce*B)*(Ce*R1-Ce*A*x-s(k)-ds(k));
0 I- _4 s9 {. b' {6 c
end
. O3 W% t( S! s/ u0 z
end
) q5 V! e7 C6 I& Y6 l- |& K; T; |" f g
if u(k)>=10
+ P Y4 Q3 v6 L5 t+ Q
u(k)=10;
3 v. U9 w0 Q- J3 t3 J
end
! l5 O h: ]& c( Z( W9 `
if u(k)<=-10
% v/ [, V# D; S
u(k)=-10;
- G5 y( T, S+ t* i
end
) j! ^9 q+ }* W7 C8 x
x=A*x+B*u(k);
( I |& X' l: u2 Y$ K6 `# r
y(k)=x(1);
1 b( G. {: u7 D, z8 p3 g1 s% c
%Update Parameters
8 G4 @( R; d* O
r_2=r_1;
$ z, c( i8 [. K% \3 g
r_1=r(k);
" r2 I, ~5 k1 F, l
end
8 n+ H1 `4 H1 U. ]5 p% Y
figure(1)
" H/ S' g- ?2 o5 m
plot(time,r,'r',time,y,'b');
0 L5 Q9 @$ T/ \2 d& y
xlabel('Time(second)');ylabel('Position tracking');
9 l- [$ } i$ b( C7 j# y- O5 s. J
figure(2)
8 |3 r; j+ k, g: i+ t& G) j) h
plot(time,s,'r');
5 Q) k5 D$ {9 q1 w4 O t
xlabel('Time(second)');ylabel('Switch function s');
% Z1 H0 q$ u& `3 ~. v$ R
figure(3)
1 D3 i( e/ h3 ~5 o z
plot(e,de,'r',e,-c*e,'b');
$ J% D. C1 t6 c6 H# t: F" i' ]5 \
xlabel('e');ylabel('de');
3 S7 Z- X/ Z2 y
figure(4)
5 s6 I r7 H( s N7 R# X0 k
plot(time,u,'r');
$ Q) \# d2 P# O* M( ]: l
xlabel('Time(second)');ylabel('u');
, @8 M5 {, G9 X+ H
0 U6 R# }% ?$ i$ b( a4 S
请问最后的4个图分别是什么意识,本人新手,谢谢大家了!
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5