Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Άσκηση 1 f1 = 1; f2 = 1; f3 = f1 + f2; n = 2; while (mod(f3, 100)~=0) f1 = f2; f2 = f3; f3 = f1 + f2; n = n + 1; end disp(n); disp(f3);

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Άσκηση 1 f1 = 1; f2 = 1; f3 = f1 + f2; n = 2; while (mod(f3, 100)~=0) f1 = f2; f2 = f3; f3 = f1 + f2; n = n + 1; end disp(n); disp(f3);"— Μεταγράφημα παρουσίασης:

1 Άσκηση 1 f1 = 1; f2 = 1; f3 = f1 + f2; n = 2; while (mod(f3, 100)~=0) f1 = f2; f2 = f3; f3 = f1 + f2; n = n + 1; end disp(n); disp(f3);

2 Άσκηση 1 f=[1 1]; j=1; while (mod(f(j+1),100)~=0); f(j+2)=f(j+1)+f(j); f(j+2)=mod(f(j+2),1000); j=j+1; end disp(' ') fprintf('Ο ορος που διαιρειται με το 100 (3 τελευταια ψηφια) ειναι ο f(%3u)=%10.2f',j,f(j+1));

3 Mathematica

4

5 Άσκηση 2 function [ngk,dgk]=barsamis4_2(ng,dg,nk,dk) % Συναρτηση μεταφορας σε συστημα με αναδραση εισοδου % ng Numerator of G(s) % dg Denominator of G(s) % nk Numerator of K(s) % dk Denominator of K(s) ngk=conv(ng,dk); dgk1=conv(ng,nk); dgk2=conv(dg,dk); if length(dgk1)>length(dgk2) dgk2=[zeros(1,length(dgk1)-length(dgk2)) dgk2]; dgk=dgk2+dgk1; elseif length(dgk2)>length(dgk1) dgk1=[zeros(1,length(dgk2)-length(dgk1)) dgk1]; dgk=dgk1+dgk2; else dgk=dgk1+dgk2; end

6 Άσκηση 3 function G=barsamis4_3(A,B,C,D) % Επιλυση του συστηματος % x'(t)=Ax(t)+ Bu(t) % y(t)=Cx(t)+ Du(t) syms s G a=size(A); b=size(B); c=size(C); d=size(D); if (a(1)==b(1))&(a(2)==c(2))&(b(2)==d(2))&(c(1)==d(1)) G=simplify(C*inv(s*eye(size(A))-A)*B+D); else error('Λάθος διαστάσεις πινάκων') end

7 Περιγραφή συστημάτων Περιγραφή συστημάτων στο πεδίο της συχνότητας. Περιγραφή συστημάτων στο πεδίο του χρόνου.

8 Συνάρτηση μεταφοράς (SISO systems) num=[1 –1]; den=[1 –5 6]; H=tf(num,den);

9 Συνάρτηση μεταφοράς (MIMO systems) num={[1 –1] ; [1 -2]}; den={[1 1] ; [1 2 5]}; H=tf(num,den); h1=tf([1 –1], [1 1]); h2=tf([1 -2], [1 2 5]); H=[h1 ; h2]; Άλλος τρόπος :

10 Συνάρτηση μεταφοράς (MIMO systems) num={[1 –1], [1 -2]}; den={[1 1], [1 2 5]}; H=tf(num,den); h1=tf([1 –1], [1 1]); h2=tf([1 -2], [1 2 5]); H=[h1, h2]; Άλλος τρόπος :

11 Συνάρτηση μεταφοράς (MIMO systems) num={[1], [1] ; [1 –1], [1]}; den={[1 1], [1 2] ; [1 3], [1 0]}; H=tf(num,den) h11=tf([1], [1 1]); h12=tf([1], [1 2]); h21=tf([1 -1], [1 3]); h22=tf([1], [1 0]); H=[h11, h12 ; h21, h22] Άλλος τρόπος :

12 Συνάρτηση μεταφοράς (Zero-pole-gain - SISO) Z=[1]; P=[2 3] ; K=1; H=zpk(Z,P,K) H=zpk([1], [2 3], 1)Άλλος τρόπος :

13 Συνάρτηση μεταφοράς (zero/pole/gain - MIMO) Z={[], [] ; [1], []}; P={[-1], [-2] ; [-3], [0]}; K=[1 1 ; 1 1]; H=zpk(Z,P,K)

14 Χώρος καταστάσεων (state space) A=[1 -1 ; -1 1]; B=[1 ; 0]; C=[1 2]; D=[1]; sys=ss(A,B,C,D)

15 Γενικευμένος χώρος των καταστάσεων (descriptor state space) A=[1 -1 ; -1 1]; B=[1 ; 0]; C=[1 2]; D=[1]; E=[1 -1 ; 2 1]; sys=dss(A,B,C,D,E)

16 Διακριτά συστήματα (discrete time systems) A=[1 -1 ; -1 1]; B=[1 ; 0]; C=[1 2]; D=[1]; sys=ss(A,B,C,D,0.5) Με τον ίδιο τρόπο αρκεί να προστεθεί στο τέλος η περίοδος δειγματοληψίας Τ. Αν απουσιάζει η περίοδος δειγματοληψίας τότε το σύστημα θεωρείται συνεχές. num={[1 –1] ; [1 -2]}; den={[1 1] ; [1 2 5]}; H=tf(num,den,0.5); num={[1 –1] ; [1 -2]}; den={[1 1] ; [1 2 5]}; H=filt(num,den,0.5);

17 Επιστροφή πληροφοριών από ένα σύστημα A=[1 -1 ; -1 1]; B=[1 ; 0]; C=[1 2]; D=[1]; sys=ss(A,B,C,D,0.5) [A,B,C,D,Ts]=ssdata(sys) Με τον ίδιο τρόπο αρκεί να προστεθεί στο τέλος η περίοδος δειγματοληψίας Τ. Αν απουσιάζει η περίοδος δειγματοληψίας τότε το σύστημα θεωρείται συνεχές. num={[1 –1] ; [1 -2]}; den={[1 1] ; [1 2 5]}; H=tf(num,den,0.5); [num,den,Ts]=tfdata(H) * Όμοια με zpkdata, dssdata.

18 Ιδιότητες συστημάτων (Γενικές ιδιότητες)

19 Ιδιότητες συστημάτων (Ιδιότητες ανά μοντέλο)

20

21 Ιδιότητες συστημάτων (Πως δίνω ιδιότητες στο σύστημα ;) >> H=tf(1, [1 1], 'inputname','energy','outputname','temperature') Transfer function from input "energy" to output "temperature": 1 ----- s + 1 >> set(H,'notes','Transfer function between energy-temperature') >> H.Ts=0.5 % Δεν γίνεται διακριτοποίηση >>sys.a=[0 1 ; 1 0]; >>set(H) tf(….,PropertyName, PropertyValue) set(system, PropertyName, PropertyValue) System.propertyname=propertyvalue

22 Ιδιότητες συστημάτων (Τι ιδιότητες έχει το σύστημα ;) >> get(H,'notes') ans = 'Transfer function between energy-temperature' >> get(H) num: {[0 1]} den: {[1 1]} Variable: 's' Ts: 0 ioDelay: 0 InputDelay: 0 OutputDelay: 0 InputName: {'energy'} OutputName: {'temperature'} InputGroup: {0x2 cell} OutputGroup: {0x2 cell} Notes: {'Transfer function between energy-temperature'} UserData: [] get(sys, propertyname)

23 Μετατροπή ενός μοντέλου σε άλλο …… -> State Space >>H=tf([1 2], [1 2 3]); >> sys=ss(H) ….. -> Transfer Function >>H1=tf(sys) ….. -> Zero Pole Gain >>H1=zpk(sys)

24 Μετατροπή ενός μοντέλου σε άλλο Transfer Function -> State Space >>[a,b,c,d]=tf2ss([1 2], [1 2 3]); State Space -> Transfer Function >>[num,den]=ss2tf(a,b,c,d) Transfer function -> Zero Pole Gain >>[Z,P,K]=tf2zp([1 1],[1 2 3]) Zero Pole Gain -> Transfer function >>[num,den]=zp2tf([1],[1 2 3],3) State Space -> Zero Pole Gain >>[Z,P,K]=ss2zp(a,b,c,d) Zero Pole Gain -> State Space >>[a,b,c,d]=zp2ss([1],[1 2 3],3)

25 Μετατροπή ενός μοντέλου σε άλλο

26 Μετατροπή ενός μοντέλου σε άλλο Διακριτοποίηση συνεχών συστημάτων Continuous time system -> Discrete time system >>CH=tf([1 2], [1 2 3]); >> ZH=c2d(CH,0.5) % c2d(CH,0.5,’zoh’) με την συγκεκριμένη μέθοδο Discrete time system -> Continuous time system >>CH=d2c(ZH) Resampling of a discrete time system >>ZH=d2d(ZH,0.4) Δοκιμάστε τις παρακάτω εντολές >>CH=tf([1 2], [1 2 3]); >>step(CH)% step response >>hold on >>ZH=c2d(CH,0.1,’zoh’) >>step(ZH) % Δοκιμάστε με διαφορετική μέθοδο ‘foh’

27 Συστήματα με καθυστέρηση H = tf({12.8 -18.9;6.6 -19.4},... {[16.7 1] [21 1];[10.9 1] [14.4 1]},... 'iodelay',[1 3;7 3],... 'inputname',{'R', 'S'},... 'outputname',{'Xd', 'Xb'})

28 Συστήματα με καθυστέρηση sys = ss(A,[B1 B2],[C1;C2],[D11 D12;D21 D22]) sys.inputdelay = [0.1 0] sys.outputdelay = [0.2 0.3]

29 Μελέτη περίπτωσης MΜάζα του οχήματος0.5 kg mΜάζα της ράβδου0.2 kg bΤριβή του οχήματος0.1 N/m/sec lΜήκος της ράβδου μέχρι το κέντρο βάρους0.3 m IΑδράνεια της ράβδου0.006 kg*m^2 FΔύναμη που εφαρμόζεται στο όχημα xΘέση του οχήματος στον άξονα των x thetaΓωνία της ράβδου σε σχέση με τον κάθετο άξονα

30 Εισαγωγή δεδομένων στο Matlab M =.5; m = 0.2; b = 0.1; i = 0.006; g = 9.8; l = 0.3;

31 Εξισώσεις συστήματος - Γραμμικοποίηση

32 Συνάρτηση μεταφοράς

33 Εισαγωγή της συνάρτησης μεταφοράς στο Matlab den= {[-l^2*m^2+(m*l^2+I)*(m+M) m*l^2+I 0g*l*m*(m+M) –b*g*l*m 0]; [-l^2*m^2+(m*l^2+I)*(m+M) m*l^2+I 0g*l*m*(m+M) –b*g*l*m 0]} num ={ [m*l^2+I 0 –m*g*l];[m*l 0 0]} pend=tf(num,den)

34 MIMO Systems (Χώρος καταστάσεων)

35 p = i*(M+m)+M*m*l^2; %denominator for the A and B matrices A = [0 1 0 0; 0 -(i+m*l^2)*b/p (m^2*g*l^2)/p 0; 0 0 0 1; 0 -(m*l*b)/p m*g*l*(M+m)/p 0] B = [ 0; (i+m*l^2)/p; 0; m*l/p] C = [1 0 0 0; 0 0 1 0] D = [0; 0] pend=ss(A,B,C,D); T=0:0.05:10; U=0.2*ones(size(T)); [Y,T,X]=lsim(pend,U,T); plot(T,Y) axis([0 2 0 100])

36 Άσκηση (για σπίτι) Να δημιουργηθεί το παραπάνω μοντέλο στο Matlab : α) με τη συνάρτηση μεταφοράς και β) με τον χώρο των καταστάσεων.

37 Άσκηση (για σπίτι)

38 Να δημιουργηθεί το παραπάνω μοντέλο στο Matlab : α) με τη συνάρτηση μεταφοράς και β) με τον χώρο των καταστάσεων αν * body mass (m1) = 2500 kg, * suspension mass (m2) = 320 kg, * spring constant of suspension system(k1) = 80,000 N/m, * spring constant of wheel and tire(k2) = 500,000 N/m, * damping constant of suspension system(b1) = 350 Ns/m. * damping constant of wheel and tire(b2) = 15,020 Ns/m. * control force (u) = force from the controller we are going to design.


Κατέβασμα ppt "Άσκηση 1 f1 = 1; f2 = 1; f3 = f1 + f2; n = 2; while (mod(f3, 100)~=0) f1 = f2; f2 = f3; f3 = f1 + f2; n = n + 1; end disp(n); disp(f3);"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google