Добавил:
ghsts1231@gmail.com студент кф мгту им. Баумана теперь снова без стипендии(( Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

код для 3 части

.m
Скачиваний:
4
Добавлен:
18.01.2022
Размер:
3.69 Кб
Скачать
close all;
clear all;

%% Начальные значения
syms s K t
alpha1 = 2.7; alpha2 = 1.35; alpha3 = 3; tau = 0.2;
W1 = (alpha1+alpha2.*s)/(tau.*s + 1);
W2 = K/(s^2 + alpha3^2);
W3 = s^2 + 2*s + 1;

%% Передаточная функция
W = collect((W1*W2)/(1+W1*W2*W3),s);
%
% 27*K*s + 54*K
%W = ---------------------------------------------------------------
% (27*K + 4)*s^3 + (108*K + 20)*s^2 + (135*K + 36)*s + 54*K + 180
a0=27*K+4; a1=108*K + 20; a2=135*K + 36; a3=54*K + 180;
%% Критерий Гурвица
G= [a1 a3 0;
a0 a2 0;
0 a1 a3];
%% Миноры главной диагонали
d1 = a1
d2 = det(G(1:2,1:2))
d3 = det(G)

% 1: d1 = 108*K + 20 > 0
% 2: d2 = 13122*K^2 + 1512*K > 0
% 3: d3 = 708588*K^3 + 2443608*K^2 + 272160*K > 0

% roots 1: K > -0.1852
% roots 2: K > 0 ; K > -0.1152
% roots 3: K > 0 ; K > -3.33 ; K > -0.1152
% система будет устойчива при K е [0; +oo]

%% Критерий Михайлова
syms w
j=1i;
Ajw = a0*(j*w)^3 + a1*(j*w)^2 + a2*(j*w) + a3;
%Ajw = 54*K - w^3*(27*K + 4)*1i - w^2*(108*K + 20) + w*(135*K + 36)*1i + 180
%действительная часть
% 54*K - w^2*(108*K + 20)
rp=[108*K+20 0 54*K+180]
%мнимая часть
% w*(135*K + 36)*1i - w^3*(27*K + 4)*1i
ip=[-(27*K+4) 0 (135*K+36) 0]

%% Корни мнимой части
roots(rp)
w1=-(3*2.^(1/2)*(- 3*K - 10).^(1/2))/(2*(27*K + 5).^(1/2));
w3=(3*2.^(1/2)*(- 3*K - 10).^(1/2))/(2*(27*K + 5).^(1/2));
%% Корни действительной части
w0=-(3*(15*K + 4)^(1/2))/(27*K + 4)^(1/2);
w2=0;
w4=(3*(15*K + 4)^(1/2))/(27*K + 4)^(1/2);
%% Решение w0<w1<w2<w3<w4<w5
eq1=w0<w1;
eq2=w1<w2;
eq3=w2<w3;
eq4=w3<w4;
sol = solve([eq1 eq2 eq3 eq4],K,'ReturnConditions',true);
sol.conditions
% система будет устойчива при K е [0; +oo]
%% Годограф Михайлова для Кср
Kmax=10; Kmin=0;
K = (Kmax+Kmin)/2;
w = 0:0.1:5;
A=(54.*K - w.^2.*(108.*K + 20))+j.*(w.*(135.*K + 36) - w.^3.*(27.*K + 4));
figure,plot(real(A),imag(A)),grid on
xlabel('Re'),ylabel('Im')
%% Пф для К=100
K = 100; tsp = 0:0.1:100;
num=[27*K 54*K];
den=[(27*K + 4) (108*K + 20) (135*K + 36) (54*K + 180)];
hts = ilaplace(poly2sym(num,s)/poly2sym(den,s)/s,t)
ht = double(subs(hts,tsp));
hyct = 0.96774;
figure,plot(tsp,ht),grid on,hold on
xlabel('t(с)'),title('ПФ')
hmax = max(ht);
plot([tsp(1) tsp(end)],[hyct hyct].*1.05,'r--')
plot([tsp(1) tsp(end)],[hyct hyct].*0.95,'r--')
%% Пф для К=0.1
K = 2; tsp = 0:0.01:20;
num=[27*K 54*K];
den=[(27*K + 4) (108*K + 20) (135*K + 36) (54*K + 180)];
hts = ilaplace(poly2sym(num,s)/poly2sym(den,s)/s,t)
ht = double(subs(hts,tsp));
hyct = 0.375001;
figure,plot(tsp,ht),grid on,hold on
xlabel('t(с)'),title('ПФ')
hmax = max(ht);
plot([tsp(1) tsp(end)],[hyct hyct].*1.05,'r--')
plot([tsp(1) tsp(end)],[hyct hyct].*0.95,'r--')
%% Определим запас устойивости
K = 5;
w = 0.1:0.1:1000;
x = -1:0.01:1;
y = sqrt(1-x.*x);
Ww=(27*K*j*w + 54*K)./((27*K + 4)*(w*j).^3 + (108*K + 20)*(w*j).^2 + (135*K + 36)*(w*j) + (54*K + 180));
figure,plot(real(Ww),imag(Ww),x,-y),grid on
axis equal
%% АЧХ и ЛАЧХ системы
w = 0:0.01:1000;
Pjw = polyval(num,j*w)./polyval(den,j*w);
A_P = sqrt(real(Pjw).^2+imag(Pjw).^2);
figure,loglog(w,A_P),grid on,xlabel('w(рад/с)')
title('ЛАЧХ')
%% ФЧХ системы
fi=atan(w./2)-atan(w./4.3586)-atan((w-2.5169)./0.1192)-atan((w+2.5169)./0.1192);
figure, plot(w, fi), grid on, xlabel('\omega'), ylabel('\phi (\omega)'),
title('ЛФЧХ')