Загрузка данных


% Очищаем всё
clear; clc; close all;

% --- ПАРАМЕТРЫ АПЕРИОДИЧЕСКОГО ЗВЕНА ---
k = 1;    % Коэффициент усиления
T = 1;    % Постоянная времени

% Создаем массив частот от 0.01 до 100 (логарифмически)
w = logspace(-2, 2, 1000); 

% --- СЧИТАЕМ ФОРМУЛЫ ИЗ УЧЕБНИКА ---

% 1. АЧХ (Амплитуда): A(w) = k / sqrt(T^2 * w^2 + 1)
A = k ./ sqrt(T^2 .* w.^2 + 1);

% 2. ФЧХ (Фаза в градусах): phi(w) = -atan(T*w) * 180/pi
phi = -atan(T .* w) * (180/pi);

% 3. ЛАЧХ (в децибелах): L(w) = 20 * log10(A)
L = 20 * log10(A);

% --- СТРОИМ ГРАФИКИ ---
figure('Name', 'Апериодическое звено', 'NumberTitle', 'off');

% 1. ЛАЧХ (сверху)
subplot(3, 1, 1);
semilogx(w, L, 'b', 'LineWidth', 2); % semilogx - логарифмическая ось X
grid on;
title(['ЛАЧХ апериодического звена (k=', num2str(k), ', T=', num2str(T), ')']);
ylabel('L(\omega), дБ');
xlabel('Частота \omega, рад/с');

% 2. ЛФЧХ (посередине)
subplot(3, 1, 2);
semilogx(w, phi, 'r', 'LineWidth', 2);
grid on;
title('ЛФЧХ апериодического звена');
ylabel('\phi(\omega), град');
xlabel('Частота \omega, рад/с');
ylim([-100 10]); % Ограничиваем ось Y от -100 до 10 градусов

% 3. Годограф Найквиста (снизу)
% Формула: Re = k / (T^2*w^2 + 1), Im = -k*T*w / (T^2*w^2 + 1)
Re = k ./ (T^2 .* w.^2 + 1);
Im = -k .* T .* w ./ (T^2 .* w.^2 + 1);

subplot(3, 1, 3);
plot(Re, Im, 'k', 'LineWidth', 2);
grid on;
title('Годограф Найквиста (АФЧХ)');
xlabel('Re(W)');
ylabel('Im(W)');
axis equal; % Чтобы окружность была круглой, а не овальной

disp('Готово! Графики построены.');