# \( A; E) U) p9 pM=3; 8 v. F; g6 N! y; {
if M==1 %EXP reaching law! I, d) g+ l$ h5 ` P: J
ds(k)=-eq*ts*sign(s(k))-q*ts*s(k);- `. ~) N" b5 j; Y$ n
u(k)=inv(Ce*B)*(Ce*R1-Ce*A*x-s(k)-ds(k)); # e, E8 e$ z6 a0 t) lelseif M==2 %Variable rate reachine law, {1 r# |! C% f% n3 O, G* i* B
ds(k)=-eq*ts*X1*sign(s(k));% F( k0 i" }8 R$ V
u(k)=inv(Ce*B)*(Ce*R1-Ce*A*x-s(k)-ds(k));3 d; h+ j% _; N# `* W1 T9 s
elseif M==3 %Coposite reaching law$ c# i1 ~+ p. U5 k! {& `3 \
k0=0.60; , K$ B! n; X u$ h! } if X1>k0 %EXP reachine law8 U/ B& ^1 v5 q. t8 m
ds(k)=-eq*ts*sign(s(k))-q*ts*s(k); 9 A& K6 |" m6 R0 q b1 G* Q- g& F0 b u(k)=inv(Ce*B)*(Ce*R1-Ce*A*x-s(k)-ds(k)); & Q( n2 [/ y8 n/ P elseif X1<=k0 %Variable rate reachine law" t; C( V, ?; x5 W# D* G7 |9 F. d
ds(k)=-eq*ts*X1*sign(s(k)); 0 C: q4 @' s' W0 ]& a u(k)=inv(Ce*B)*(Ce*R1-Ce*A*x-s(k)-ds(k));4 o, g' X( C, p
end + E5 C, [' I& |* j# C: Tend X! j2 E+ o$ d# V" K3 A6 E& t
if u(k)>=10% P+ o+ w3 {7 S& Q
u(k)=10;/ z$ W, r' s& P8 q
end 0 O+ T' n% D* d' _if u(k)<=-10" H3 a* b& X9 C9 s% P9 Q
u(k)=-10; & x8 v' V0 |. A; `) wend6 m' t7 p. m' [4 D8 S+ _
x=A*x+B*u(k); - t% o* T& z3 i% Ey(k)=x(1); % v7 w; [6 g' `, k4 R%Update Parameters/ ~) n( s/ Y6 @$ E
r_2=r_1; * V$ @! S8 D$ Y+ W' nr_1=r(k); 4 B; U c1 O5 M: ?; |end, s* _$ ~. w0 G+ }4 d/ p' i1 k. ^( p. K
figure(1)0 X6 w& a* [: K# B
plot(time,r,'r',time,y,'b');- w0 F+ H% l" a8 J
xlabel('Time(second)');ylabel('Position tracking');' W( p+ ~( o; m' z
figure(2)' f, s( E$ j" R# I6 J* S% A
plot(time,s,'r'); $ L4 Q& j9 h! {7 P) F( uxlabel('Time(second)');ylabel('Switch function s');# q" K" z* v( o1 {7 x/ z2 T0 |
figure(3) 2 _. h6 S* z3 ]/ c4 m' k3 |plot(e,de,'r',e,-c*e,'b'); & {# c$ z+ |7 `; @6 `" \axis([0,0.001,-0.01,0]);: R1 L [* m) X7 m
xlabel('e');ylabel('de');9 M9 I4 p' T, O7 I
figure(4)) y. S5 q2 h# L- g* W
plot(time,u,'r'); & k i& j3 p+ ^. E* H% |7 X! xxlabel('Time(second)');ylabel('u');2 I" R% S. {7 ]/ i
6 o3 h3 R" n8 ?! a; Z: S3 g??? In an assignment A(I) = B, the number of elements in B and* J3 E2 S0 Y+ ]8 ~) n
I must be the same.- T- H) \& } f2 v4 U
Error in ==> matlab02 at 40 # O: `3 h3 l, x% D( @, q s(k)=Ce*E;