2 x6 P3 Y0 ?/ m$ P- p. r3 X# b8 m3 xclear all;' n) G$ f1 F1 T# u
close all; % G5 j( e2 Q' n# C- ?! Wa=59.36;b=7.42;m=2374.46;n=296.92;3 c( g F6 \! r X& F
ts=0.001; 7 S) K) c$ x1 S2 kA1=[0,0,1,0;0,0,0,1;a,-b,0,0;b,-a,0,0];% {9 V+ [( \+ P5 N/ K9 y
B1=[0,0;0,0;m,-n;n,-m];5 `2 c3 g, P0 Q/ }
C1=[1,0,0,0]; ) Y- {4 E+ O4 |& H: |, jD1=[0,0]; ) h" t* @6 H+ m9 L; G8 F& v* h' l[A,B,C,D]=c2dm(A1,B1,C1,D1,ts,'z'); 3 k; N# X' a0 \% N' ~% zx=[0;0;0;0]; - m( `# b( T, fr_1=0;r_2=0;g_1=0;g_2=0;0 x+ u# z5 w: g4 W' x* @
c1=5.0;c2=5.0; * V. V4 p) a* meq=5; k3 C, q' ]& x% X1 ?1 Wq=30;( O: P8 L/ [8 T
Ce=[c1,0,1,0;0,c2,0,1];3 m& ]( ~2 N \" `. \
for k=1:1:2000 " \' C( C' ], z6 Stime(k)=k*ts; , V# `4 U" z" `4 i% C r(k)=1.0; 9 i) M6 o1 c4 |, Z5 p: _, E+ q g(k)=1.0; - ]* w* C' }2 }( x 8 T) U S: w9 Y- I! X
%Using Waitui method " k9 U% X8 {! b; e dr(k)=(r(k)-r_1)/ts; 3 G2 z4 n4 N5 @( c, H+ Y, y dg(k)=(g(k)-g_1)/ts;. q( Y4 e6 q% U6 p+ L/ `
dr_1=(r_1-r_2)/ts;3 G. I5 V4 D9 E% C4 K
dg_1=(g_1-g_2)/ts;% q2 M& M" E, y1 y
r1(k)=2*r(k)-r_1; 4 f! e. e. r$ G2 n( | g1(k)=2*g(k)-g_1; 7 j- I5 U+ a% b6 Y ?0 M dr1(k)=2*dr(k)-dr_1; $ r! C" \) s1 u% q1 H7 i dg1(k)=2*dg(k)-dg_1; / _1 u: @9 V* ?9 N8 ? 5 d0 Z! A+ r; B. C C. z R=[r(k);g(k);dr(k);dg(k)]; $ x# X* [: p7 B& n* j R1=[r1(k);g1(k);dr1(k);dg1(k)]; % y! b9 L5 i8 ?( f! k) c/ j o6 o: g% X7 c. W, I& E" g
E=R-x; & L$ x9 f* G! A: k, u9 ? e(k)=E(1);: T1 c" H' S4 _( S+ h% U! V
de(k)=E(2);1 P8 Z7 g. G$ Q# l2 U6 o
! e) n. A+ O' u# c s(k)=Ce*E; / q Q% g* ]3 B$ x X1=abs(e(k))+abs(de(k)); O9 y2 W8 P$ Y9 ?- e# g2 Q
0 a/ o* A1 o& y" z, J" ~" A" Q# ?5 QM=3; ' [ i1 P' O% @4 _2 rif M==1 %EXP reaching law/ B/ B8 M3 a$ }' F
ds(k)=-eq*ts*sign(s(k))-q*ts*s(k);! a- ~8 w w6 X5 I; R
u(k)=inv(Ce*B)*(Ce*R1-Ce*A*x-s(k)-ds(k)); - T+ n( V+ Z' {- C: J3 n1 Melseif M==2 %Variable rate reachine law% d+ y7 k8 D; c$ z; P
ds(k)=-eq*ts*X1*sign(s(k)); J0 |+ w5 C& g' G* w u(k)=inv(Ce*B)*(Ce*R1-Ce*A*x-s(k)-ds(k)); 8 G& E" o. ?* f* B# Q7 u2 gelseif M==3 %Coposite reaching law& k; v q! `5 o+ F7 D& \1 V
k0=0.60; ' v K& _2 P% M, a* | if X1>k0 %EXP reachine law$ b9 B( t- @* Z, ]. T
ds(k)=-eq*ts*sign(s(k))-q*ts*s(k);& @+ m% U$ M# C: Y. a
u(k)=inv(Ce*B)*(Ce*R1-Ce*A*x-s(k)-ds(k)); `7 q' f( \+ x% q" [. O
elseif X1<=k0 %Variable rate reachine law ' u# k+ K2 E$ M" {5 h9 C& h% l ds(k)=-eq*ts*X1*sign(s(k));+ O- R( K7 f( ^$ B; D& S8 B6 I6 ~* O
u(k)=inv(Ce*B)*(Ce*R1-Ce*A*x-s(k)-ds(k));3 R+ S/ u7 g/ x% I3 {& H( n
end/ k- J+ W$ r4 g E5 h% w
end - b$ P+ c8 r) F7 a% Aif u(k)>=10, I# ]+ ~) N. p
u(k)=10;; w; X" r% j0 [ u% }7 b
end 7 m& w- x G5 _if u(k)<=-10 L0 z' Q/ s8 p& v( }. j1 X; C8 b
u(k)=-10;! t1 @4 {7 ^5 d0 N9 b! l- A
end $ ]2 D0 F: `$ H/ P9 nx=A*x+B*u(k);; f. {( D, f) _ @4 I3 |' w
y(k)=x(1); / C% X3 g, I+ ?$ a%Update Parameters6 f( a8 g# Y, I1 ]* t; X
r_2=r_1;6 x: a$ g. _8 ?' b# k
r_1=r(k); & w! [( I3 H2 O! ^# v- ?6 }: pend. |2 P" B$ h, S1 ^: N
figure(1) : k' t; S `* D8 s: A6 Q& mplot(time,r,'r',time,y,'b'); / _0 c) A- g* b; A: Kxlabel('Time(second)');ylabel('Position tracking');' b& q! ?+ L4 K6 W F. p" d
figure(2)/ n! L+ N( W) e9 b9 L3 G9 s
plot(time,s,'r');2 M+ q. f& I6 o
xlabel('Time(second)');ylabel('Switch function s'); - {+ s" p8 u9 n# \8 ]4 ]figure(3)$ H$ f. T2 ?3 ~6 r0 G3 n
plot(e,de,'r',e,-c*e,'b');' z$ H( G# y& p, |2 h. o( r
axis([0,0.001,-0.01,0]);( d6 k5 ? v0 t1 \8 a. c; n& f
xlabel('e');ylabel('de');! U O& x. e0 |4 U
figure(4)7 k& K" S' A& z1 z7 c4 m
plot(time,u,'r');8 W0 y: L; ?2 a, U& L
xlabel('Time(second)');ylabel('u');5 k( V8 J- A/ ^, @
$ s2 x1 ~, B* t9 t??? In an assignment A(I) = B, the number of elements in B and+ w3 P3 S% | z. J0 ?
I must be the same.3 T5 {" c. g: W/ X" q! w
Error in ==> matlab02 at 403 G8 o" j! ?1 E3 S
s(k)=Ce*E;