Ім'я файлу: ДЗ_ТАКРО - Влад Мельник.docx
Розширення: docx
Розмір: 799кб.
Дата: 30.08.2023
скачати
Пов'язані файли:
Документ Microsoft Word (2).docx
Р 5.docx


НАЦІОНАЛЬНИЙ АВІАЦІЙНИЙ УНІВЕРСИТЕТ

ФАКУЛЬТЕТ АЕРОНАВІГАЦІЇ, ЕЛЕКТРОНІКИ ТА ТЕЛЕКОМУНІКАЦІЙ

КАФЕДРА АЕРОКОСМІЧНИХ СИСТЕМ УПРАВЛІННЯ

ДОМАШНЄ ЗАВДАННЯ

з дисципліни «Теорія автоматичного керування рухомими обʼєктами»

Виконав студент

Перевірив старший викладач кафедри О.В.Єрмолаєва

Київ–2023

ЗАВДАННЯ

Дано передаточні функції (таблиця 1) і структурна схема (рис. 1). Необхідно

1) охопити дану систему, представлену на рис. 1 одиничним негативним зворотним зв’язком;

2) розрахувати передавальну функцію замкненої системи:

а) без MATLAB;

б) за допомогою MATLAB;

3) визначити полюси, отриманої передаточної функції;

4) зробити перехід від передаточної функції до опису в просторі станів;

5) розрахувати власні значення отриманої системи; порівняти полюса передаточної функції і власні значення матриці станів;

6) перевірити, чи є замкнена система стійкою:

а) використовуючи необхідну умову стійкості;

б) використовуючи достатню умову стійкості;

в) використовуючи критерій Гурвіца;

7) якщо замкнена система не є стійкою, необхідно дізнатися, в якому діапазоні підсилення K у зворотному зв’язку, система буде стійка;

8) побудувати перехідну характеристику для замкнутої системи (з одиничним зворотним зв’язком або з К, взятий з діапазону, який був визначений у п. 9, у зворотному зв’язку) ї зробити висновок про стійкість системи.

9) Визначити -норму замкненої системи.

Варіант індивідуального завдання вибирається по порядковому номеру студента у списку групи.

Таблиця 1

Варіант 8

№п.п

Рис. 1







8

б





2




Хід роботи

  1. Знаючи функції 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

Згідно розвязку дана система є стійкою тобто відсутнє підсилення К.
скачати

© Усі права захищені
написати до нас