| НАЦІОНАЛЬНИЙ АВІАЦІЙНИЙ УНІВЕРСИТЕТ
ФАКУЛЬТЕТ АЕРОНАВІГАЦІЇ, ЕЛЕКТРОНІКИ ТА ТЕЛЕКОМУНІКАЦІЙ
КАФЕДРА АЕРОКОСМІЧНИХ СИСТЕМ УПРАВЛІННЯ
ДОМАШНЄ ЗАВДАННЯ
з дисципліни «Теорія автоматичного керування рухомими обʼєктами»
Виконав студент
Перевірив старший викладач кафедри О.В.Єрмолаєва
Київ–2023
ЗАВДАННЯ
Дано передаточні функції (таблиця 1) і структурна схема (рис. 1). Необхідно
1) охопити дану систему, представлену на рис. 1 одиничним негативним зворотним зв’язком;
2) розрахувати передавальну функцію замкненої системи:
а) без MATLAB;
б) за допомогою MATLAB;
3) визначити полюси, отриманої передаточної функції;
4) зробити перехід від передаточної функції до опису в просторі станів;
5) розрахувати власні значення отриманої системи; порівняти полюса передаточної функції і власні значення матриці станів;
6) перевірити, чи є замкнена система стійкою:
а) використовуючи необхідну умову стійкості;
б) використовуючи достатню умову стійкості;
в) використовуючи критерій Гурвіца;
7) якщо замкнена система не є стійкою, необхідно дізнатися, в якому діапазоні підсилення K у зворотному зв’язку, система буде стійка;
8) побудувати перехідну характеристику для замкнутої системи (з одиничним зворотним зв’язком або з К, взятий з діапазону, який був визначений у п. 9, у зворотному зв’язку) ї зробити висновок про стійкість системи.
9) Визначити -норму замкненої системи.
Варіант індивідуального завдання вибирається по порядковому номеру студента у списку групи.
Таблиця 1
Варіант 8
Хід роботи
Знаючи функції W1(p); W2(p); W3(p) спростимо схему і знайдемо результуючу функцію.
W12(p) = = = =
Де 1 тв 2 мають прямий зв'язок отримуємо наступну схему
Далі функції W12(p) та W3(p) мають зворотній зв'язок і паралельно зєднані тоді знаходимо результуючу функцію:
W∑(p) = = = =
=
Маємо функцію виду:
W∑(p) = = =
Виписуємо значення коефіцієнтів:
b2
| b1
| b0
| a3
| a2
| a1
| a0
| 10
| 3
| 0
| 50
| 35
| 6
| 1
|
Переходимо до диференціального рівняння:
Y(p)( ) = U(p)( )
50 Y(p)+35 Y(p)+6pY(p)+Y(p) = 10 U(p)+3pU(p)
Y(p) = y(t), pY(p) = dy(t)/dt; Y(p) = d2y(t)/dt2; Y(p) = d3y(t)/dt3;
Тоді диференціальне рівняння набуває виду:
50 + 35 + 6 + y(t) = 10 + 3
Характерестичне рівняння:
D(p) = = 0
Реалізуємо в MatLAB
function a4
clear all;
% 1
%--------------------------------------------------------------------------
w=idtf([10 3 0],[50 35 6 1]),
%--------------------------------------------------------------------------
% 2
%--------------------------------------------------------------------------
x = -10:0.1:-5;
f = inline('50x.^3+35.*x.^2+6.*x+1');
for i=1:1:length(x)
y(i)=f(x(i));
end
figure(1);
plot(x,y), grid on;
a = [-10 -8.5 -6.5];
b = [-8.5 -7 -5];
e = 0.00001;
% решение нелинейного уравнения методом простых итераций
for i=1:1:length(a)
x1(i) = piter(f,a(i),b(i),e),
end
%--------------------------------------------------------------------------
% 3
%--------------------------------------------------------------------------
A = [1 1 1
14 15 17
48 54 72];
B = [4
2
0];
% вызов подпрограммы решения СЛАУ методом Гаусса
[X] = gauss(A,B);
X,
ch = [4 2 0],
zn = [50 35 6 1],
[c] = residue(ch,zn),
A1 = [1 1 1 1
14 15 17 23
48 54 72 6
0 0 0 1];
B1 = [0
10
3
0];
% вызов подпрограммы решения СЛАУ методом Гаусса
[X1] = gauss(A1,B1);
X1,
ch = [10 3 0],
zn = [50 35 6 1],
[c1] = residue(ch,[zn,0]),
a = 0;
b = 2;
n = 1000;
h = (b-a)/n;
x = a:h:b;
y = c(1)*exp(x1(1).*x)+c(2)*exp(x1(2).*x)+c(3)*exp(x1(3).*x);
% вызов подпрограммы расчета определенного интеграла методом Симпсона
s = simpson(y,h),
figure(2);
step(w), grid on;
figure(3);
impulse(w), grid on;
%--------------------------------------------------------------------------
% 4
%--------------------------------------------------------------------------
figure(4);
bode(w), grid on;
figure(5);
nyquist(w), grid on;
%--------------------------------------------------------------------------
% 5
%--------------------------------------------------------------------------
A = [0 1 0;
0 0 1;
-1 -6 -35],
[R, D] = eig(A),
M = [1 1 1;
x1(1) x1(2) x1(3);
x1(1)^2 x1(2)^2 x1(3)^2],
M1 = inv(M),
B=[10
3
0],
B1 = M1*B,
%--------------------------------------------------------------------------
% 6
%--------------------------------------------------------------------------
syms x1;
syms B2;
syms A2;
syms b1;
syms b2;
syms b3;
A2 = [1 -9 81
1 -8 64
1 -6 36];
B2 = [b1
b2
b3];
x1 = linsolve(A2,B2),
A_2 = A^2,
E = [1 0 0
0 1 0
0 0 1];
x0 = [2.3
0
0];
eat = x1(1)*E + x1(2)*A + x1(3)*A_2,
eatx0 = eat*x0,
q = M1*x0,
%--------------------------------------------------------------------------
function [x] = gauss(A,B)
% решение СЛАУ методом Гаусса
m = length(A);
n = length(B);
C = [A B];
% прямой ход
for i1=1:1:n-1
for i2=i1:1:n
if C(i2,i2)==0
for i3=2:1:n
if C(i3,i1)=0
R=C(i3,:);
C(i3,:)=C(i2,:);
C(i2,:)=R;
break
end
end
end
end
for i=1:1:n
for k=(i+1):1:n
H=-C(k,i)/C(i,i);
for j=1:1:(n+1)
C(k,j)=C(k,j)+C(i,j)*H;
end
end
end
end
% обратный ход
for i=n:(-1):1
s=0;
for j=n:(-1):1
if i==j
x(i)=(C(i,n+1)-s)/C(i,j);
break
end
s=s+C(i,j)*x(j);
end
end
x = x';
function [S] = simpson(y,h)
% вычисление определенного интеграла методом Симпсона
% h - шаг интегрирования
% y - значения функции в узловых точках
% S - рассчитанное значение определенного интеграла
n = length(y);
m = n/2;
sum1=0;
for i=1:1:m
sum1=sum1+y(2*i);
end
sum2=0;
for i=1:1:m-1
sum2=sum2+y(2*i+1);
end
S = h/3*(y(1)+y(n)+4*sum1+2*sum2);
function x1 = piter(fx,a,b,e)
% решение нелинейного уравнения методом простых итераций
% fx - заданное уравнение
% a - левая граница интервала
% b - правая граница интервала
% e - точность вычислений
for i=1:1:length(a)
x11 = a(i):0.001:b(i);
y1 = fx(x11);
if length(y1) == 1
d1 = 0;
else
d1 = diff(y1)/0.001;
end
d11 = max(d1);
d = max(abs(d1));
fx22 = fx;
x(i,1)=(a(i)+b(i))/2;
l1 = 1;
for k=2:100
if d11 == 0
x(i,k) = x(i,k-1)+fx22(x(i,k-1));
elseif d11 > 0
x(i,k) = x(i,k-1)-fx22(x(i,k-1))/d;
elseif d11 < 0
x(i,k) = x(i,k-1)+fx22(x(i,k-1))/d;
end
if abs(x(i,k)-x(i,k-1)) <= e && l1 == 1
l1 = 2;
x1(i) = x(i,k);
break
end
end
end
p1 = 9,3200; p2 = 1,3500; p3 = -10,1200
Згідно розвязку дана система є стійкою тобто відсутнє підсилення К. скачати
|