clear;
clc;
close all;
%% Задание 1
w1 = tf(7, [1 1]);
w2 = tf(4, [1 0]);
w3 = tf([42 2], [10 1]);
w4 = tf(1, [16 4 1]);
w_raz1 = (w1 * w2 + w4) * w3;
w_zam1 = feedback(w_raz1, 1);
w_zam1.Variable = 'p';
[num_zam, den_zam] = tfdata(w_zam1, 'v');
%% Задание 2
p2 = [2 16 24 34 20];
r2 = roots(p2);
jj2 = find(real(r2) >= 0);
if isempty(jj2)
disp('Задание 2: система устойчива')
else
disp('Задание 2: система неустойчива')
end
%% Задание 3
[~, den_raz1] = tfdata(w_raz1, 'v');
r_raz = roots(den_raz1);
H = [den_zam(2) den_zam(4) den_zam(6) 0 0;
den_zam(1) den_zam(3) den_zam(5) 0 0;
0 den_zam(2) den_zam(4) den_zam(6) 0;
0 den_zam(1) den_zam(3) den_zam(5) 0;
0 0 den_zam(2) den_zam(4) den_zam(6)];
delta1 = H(1, 1);
delta2 = det(H(1:2, 1:2));
delta3 = det(H(1:3, 1:3));
delta4 = det(H(1:4, 1:4));
delta5 = det(H);
minors = [delta1, delta2, delta3, delta4, delta5];
if all(minors > 0)
disp('Задание 3: замкнутая система устойчива по Гурвицу')
else
disp('Задание 3: замкнутая система неустойчива по Гурвицу')
end
%% Задание 4
w_freq = 0:0.01:10;
p_freq = 1j * w_freq;
GM = polyval(den_zam, p_freq);
figure;
plot(real(GM), imag(GM));
grid on;
%% Задание 5
w_raz5 = tf([2 1], [0.3 5 1]);
[~, den5] = tfdata(w_raz5, 'v');
r5 = roots(den5);
jj5 = find(real(r5) >= 0);
figure;
nyquist(w_raz5);
grid on;
%% Задание 6
[Gm, ~, ~, ~] = margin(w_raz5);