Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- clear all;
- %% Parametry
- n1 = 7; %Czerski
- n2 = 9; %Tyczyński
- n3 = 13; %Giergielewicz
- k = n3/n1;
- m1 = n1;
- m2 = 4*n2;
- tau = 2*n2 + 3;
- %% Obiekt
- obiekt = tf([k], [1, m2, m1, 1], 'ioDelay', tau);
- %% Impulse
- [impulsY, impulsX] = impulse(obiekt);
- MAXY = impulsY(find(impulsY == max(impulsY), 1));
- MAXX = impulsX(find(impulsY == MAXY), 1); %MAXY i MAXX to maksimum globalne
- figure(1)
- impulse(obiekt); hold on;
- plot(MAXX,MAXY,'rx');
- legend('Char. impulsowa', 'Max globalne')
- %% Step i styczna
- figure(2)
- [styczY, ~] = step(obiekt, [MAXX-1, MAXX, MAXX+1]); %wyznaczamy punkty do wyliczenia stycznej
- punktprzegieciaY = styczY(2);
- styczna_a = (styczY(3)-styczY(1))/2; %współczynnik kierunkowy
- [stepY, stepX] = step(obiekt);
- przesuniecie = stepX(find(abs(stepX*styczna_a-punktprzegieciaY)<0.1, 1));
- styczna_y = styczna_a*stepX - 3.61;
- step(obiekt); hold on;
- plot(stepX, styczna_y, 'r'); hold on;
- plot(MAXX, punktprzegieciaY, 'gx');
- legend('Charakterystyka skokowa', 'Styczna do pp', 'Punkt przegiecia');
- %% wartości zastępcze
- wartosc_ustalona = stepY(end);
- tau_zastepcze = 23.18; % wyznaczona metodą graficzną
- T_zastepcze = 34.94 - tau_zastepcze; % wyznaczona metodą graficzną
- %% obiekt zastępczy
- obiekt_zastepczy = tf([wartosc_ustalona], [T_zastepcze, 1], 'ioDelay', tau_zastepcze);
- %% porównanie obiektów
- figure(3)
- impulse(obiekt); hold on;
- impulse(obiekt_zastepczy); hold on;
- legend('Obiekt modelowany', 'Obiekt zastępczy');
- figure(4)
- step(obiekt); hold on;
- step(obiekt_zastepczy); hold on;
- legend('Obiekt modelowany', 'Obiekt zastępczy');
- %% Nyquist
- figure (5)
- subplot(1,2,1); nyquist(obiekt);
- title('Obiekt modelowany');
- subplot(1,2,2); nyquist(obiekt_zastepczy);
- title('Obiekt zastepczy');
- %% Zera/bieguny
- figure(6)
- subplot(1,2,1); pzmap(obiekt);
- title('Obiekt modelowany');
- subplot(1,2,2); pzmap(obiekt_zastepczy);
- title('Obiekt zastepczy');
- %% Bode
- figure(7)
- bode(obiekt); hold on;
- bode(obiekt_zastepczy); hold off
- legend('Obiekt modelowany', 'Obiekt zastepczy')
- %% Zapasy fazy, modułu i pasma przenoszenia
- [zm_model, zf_model] = margin(obiekt); %zapas modułu i fazy dla obiektów
- [zm_zast, zf_zast] = margin(obiekt_zastepczy);
- bandwidth_modelowany = bandwidth(obiekt); % pasma przenoszenia
- bandwidth_zastepczy = bandwidth(obiekt_zastepczy);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement