Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %LAB 1
- %Zad 1
- M = 1000;
- F = 1000;
- c = 400;
- ksi_oscylacje = 0.5; %oscylacje < 1, tlumienie >= 1
- ksi_tlumienie = 1.5;
- %wzmocnienie zależy od sprężyny!
- alfa = 500;
- alfa_oscylacje = ksi_oscylacje*2*sqrt(c*M);
- alfa_tlumienie = ksi_tlumienie*2*sqrt(c*M);
- licz = [0 0 1];
- mian = [M alfa c];
- mian_oscylacje = [M alfa_oscylacje c];
- mian_tlumienie = [M alfa_tlumienie c];
- zawieszenie = tf(licz, mian);
- [zera, bieguny, wzmocnienie] = tf2zp(licz, mian);
- zawieszenie_oscylacje = tf(licz, mian_oscylacje); %odpowiedź skokowa
- zawieszenie_tlumienie = tf(licz, mian_tlumienie);
- step(zawieszenie, zawieszenie_oscylacje, zawieszenie_tlumienie);
- legend('alfa = 500', 'Oscylacje: współczynnik tłumienia= 0.5', 'Tłumienie: współczynnik tłumienia= 1.5');
- figure();
- impulse(zawieszenie, zawieszenie_oscylacje, zawieszenie_tlumienie); %odpowiedź impulsowa
- legend('alfa = 500', 'Oscylacje: współczynnik tłumienia= 0.5', 'Tłumienie: współczynnik tłumienia= 1.5');
- figure();
- pzmap(zawieszenie, zawieszenie_oscylacje, zawieszenie_tlumienie);
- legend('alfa = 500', 'Oscylacje: współczynnik tłumienia= 0.5', 'Tłumienie: współczynnik tłumienia= 1.5');
- %Zad 1
- %a) -bieguny są zespolone i sprzężone
- %-układ jest stabilny
- %-uklad nie jest nieminimalnofazowy
- %b) -zera, bieguny, wzmocnienie
- %c) -wyrysowane, dobierane ze wzoru 1.1 na ksi
- %Zad 2
- wzmocnienie = 2;
- zero = -0.25;
- bieguny = [0 -5 -0.1];
- obiekt = zpk(zero, bieguny, wzmocnienie);
- %Zad 3
- M = 1000;
- F = 1000;
- c = 400;
- alfa = 500;
- licz = [0 0 1];
- mian = [M alfa c];
- [A2, B2, C2, D2] = tf2ss(licz, mian);
- [zero bieguny transmitancja] = tf2zp(licz, mian);
- [A1, B1, C1, D1] = zp2ss(zero, bieguny, wzmocnienie);
- hold on;
- step(A1, B1, C1, D1);
- step(A2, B2, C2, D2);
- legend('Sfaktoryzowana transmitancja', 'Transmitancja');
- hold off;
- %Macierze się różnią, odpowiedzi skokowe mają podobny charakter, wymagają
- %przeskalowania
- %Zad 6
- licz1 = [1 1];
- mian1 = [1 5 1];
- G1 = tf(licz1, mian1);
- licz2 = [0 1];
- mian2 = [1 1 -2 1];
- G2 = tf(licz2, mian2);
- szeregowo = series(G1, G2);
- rownolegle = parallel(G1, G2);
- sprzezenie_zwrotne = feedback(G1, G2);
- %LAB2
- %Konspekt A
- k=15;
- T1=4;
- T2=2;
- T=120;
- ksi=0.1;
- Ti=1.2;
- Td=12;
- theta=1.66;
- n=5;
- licz1=[0,k];
- mian1=[T,1];
- licz2=[0,0,k];
- mian2=[T1*T2,T1+T2,1];
- licz3=[0,0,k];
- mian3=[T^2,2*ksi*T,1];
- licz4=[0,0,k];
- mian4=[T*Ti,Ti,0];
- licz5=[Td,0];
- mian5=[T,1];
- [licz_op, mian_op] = pade(theta,n);
- licz_iner=[0,k];
- mian_iner=[T,1];
- [licz6, mian6] = series(licz_op, mian_op, licz_iner, mian_iner);
- figure();
- subplot(1,2,1);
- step(licz1, mian1);
- subplot(1,2,2);
- impulse(licz1, mian1);
- figure();
- subplot(1,2,1);
- step(licz2, mian2);
- subplot(1,2,2);
- impulse(licz2, mian2);
- figure();
- subplot(1,2,1);
- step(licz3, mian3);
- subplot(1,2,2);
- impulse(licz3, mian3);
- figure();
- subplot(1,2,1);
- step(licz4, mian4);
- subplot(1,2,2);
- impulse(licz4, mian4);
- figure();
- subplot(1,2,1);
- step(licz5, mian5);
- subplot(1,2,2);
- impulse(licz5, mian5);
- figure();
- subplot(1,2,1);
- step(licz6, mian6);
- subplot(1,2,2);
- impulse(licz6, mian6);
- %Konspekt B
- k=15;
- T1=4;
- T2=2;
- T=1.5;
- ksi=0.1;
- Ti=1.2;
- Td=12;
- theta=5;
- n=5;
- licz1=[0,k];
- mian1=[T,1];
- licz2=[0,0,k];
- mian2=[T1*T2,T1+T2,1];
- licz3=[0,0,k];
- mian3=[T^2,2*ksi*T,1];
- licz4=[0,0,k];
- mian4=[T*Ti,Ti,0];
- licz5=[Td,0];
- mian5=[T,1];
- [licz_op, mian_op] = pade(theta,n);
- licz_iner=[0,k];
- mian_iner=[T,1];
- [licz6, mian6] = series(licz_op, mian_op, licz_iner, mian_iner);
- figure();
- subplot(1,2,2);
- bode(licz1, mian1);
- subplot(1,2,1);
- nyquist(licz1, mian1);
- figure();
- subplot(1,2,2);
- bode(licz2, mian2);
- subplot(1,2,1);
- nyquist(licz2, mian2);
- figure();
- subplot(1,2,2);
- bode(licz3, mian3);
- subplot(1,2,1);
- nyquist(licz3, mian3);
- figure();
- subplot(1,2,2);
- bode(licz4, mian4);
- subplot(1,2,1);
- nyquist(licz4, mian4);
- figure();
- subplot(1,2,2);
- bode(licz5, mian5);
- subplot(1,2,1);
- nyquist(licz5, mian5);
- figure();
- subplot(1,2,2);
- bode(licz6, mian6);
- subplot(1,2,1);
- nyquist(licz6, mian6);
- %LAB 3
- %Zad 1
- [licz1, mian1] = zp2tf([], [-1, -0.2], 0.2);
- [licz2, mian2] = zp2tf(-2, [-1, -0.2], 2);
- [licz3, mian3] = zp2tf([], [-1, -0.2, -2], 0.4);
- figure();
- rlocus(licz1, mian1);
- figure();
- rlocus(licz2, mian2);
- figure();
- rlocus(licz3, mian3);
- sgrid;
- [K, bieguny] = rlocfind(licz3, mian3);
- %Zad 2
- s=tf('s');%%zmienna symboliczna
- conv([1,1],[0.2,1])%mnożenie wielomianów
- G=1/(s*(s+1)*(0.2*s+1));
- GC=(s+1)/(0.1*s+1);
- figure();
- rlocus(G);
- line([0 -50],[0 50]);
- [K, bieguny] = rlocfind(G);
- sys_zamk = feedback(K*tf(G), 1);
- step(sys_zamk);
- K=1.62;
- sys=series(GC,G);
- rlocus(G,sys);
- sys_zam = feedback(K*sys, 1);
- figure;
- step(sys_zamk,sys_zam);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement