МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ „ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра АТХП
ЛІНЕАРИЗАЦІЯ СИСТЕМ В СЕРЕДОВИЩІ SIMULINK
Звіт
до лабораторної роботи №5
з дисципліни:
„Математичне моделювання на комп’ютерах”
Варіант №4
Дослідити динаміку відкритої
проточної гідравлічної ємності,
зображеної на малюнку.
Конструктивні параметри
L2=90м; r2=0,09м, ζ=0,9, d=0.5м
Задані значення вхідних величин та керувань:
P2=0,1кПа, Q=0,008м3/c
Значення стрибкоподібно зміненої вхідної величини, яка приводить систему до нового стану рівноваги: P2=0,7 кПа.
Математична модель об’єкту
Математична модель системи описує зміну рівня та витрати рідини на виході з ємності, спричинені змінами вхідного тиску P2 і витрати на вході ємності Q. Параметрами стану є рівень в ємності h і витрата рідини на виході із ємності Q2
Структурна схема моделі у вікні системи Simulink.
Підготовка моделі до лінеаризації
Замінимо блоки Step на блоки вхідних портів Input. Для цього спочатку по черзі виділимо, а затим вилучимо всі три блоки Step. Затим з каталогу Signals&Systems скопіюємо один блок In1 у вікно моделі і під'єднаємо його, наприклад на місце Step. Затим у вікні моделі (правою клавішею) розмножимо блоки вхідних портів і під'єднаємо їх.
Тепер вилучимо всі блоки Scope і під'єднаємо на їх місце блоки Out1 та Out2.
Збережемо модель на диску, наприклад під іменем lr5.mdl.
Рис.1. Математична модель системи у вікні моделі Simulink. Файл lr5.mdl.
Визначення стану рівноваги системи.
Для визначення стану рівноваги застрсуємо формат функції Trim
[X,U,Y,dx]=trim('sys', X0, U0, Y0, IX, IU, IY),
який дозволяє зафіксувати задані значення вхідних величин Q, P2
>>[X,U,Y,dx]=trim('lr5',[2;0.01],[0.008;100],[],[],[1;2],[])
X =
2.27704847280439
0.00800000000000
U =
1.0e+002 *
0.00008000000000
1.00000000000000
Y =
2.27704847280439
0.00800000000000
dx =
1.0e-015 *
0
0.69634921788153
Порівняємо одержаний результат з розрахунком за аналітичним виразом. Для цього виконаємо директиви файлу pu.m, створеного при виконанні ЛР №4:
%Файл розрахунку початкових значень параметрів
%за аналітичними залежностями
d=0.5;ro=1000;dz=0.9;g=9.81;p2=100;L2=90;r2=0.09;Q=0.008;
S=pi*d^2/4;
kt2=2*pi*r2^2*sqrt(r2/L2/dz);
A=4*pi*r2^3/dz;
disp( 'Початкові значення параметрів' )
Q20=Q
h0=Q20^2/kt2^2/g+p2/ro/g
Результати порівняння значень параметрів стану, одержаних за аналітичними залежностями та шляхом застосування функції Trim приведені в таблиці 1
Таблиця 1
За аналітичними залежностями
Функція Trim
Різниця у відносних одиницях
h0
2.27704847280414
2.27704847280439
2.5002e-013
Q20
0.00800000000000
0.00800000000000
0
Лінеаризація моделі в середовищі Simulink
>> [a,b,c,d]=linmod('lr5',X,U)
a =
0 -5.09295817894065
0.00277371215386 -1.57190067251268
b =
5.09295817894065 0
0 -0.00000028274334
c =
1 0
0 1
d =
0 0
0 0
Для порівняння одержаних матриць з результатами обчислення за аналітичними залежностями запустимо на виконання файл martix.m (п.3 ЛР №4):
%Файл для обчислення за аналітичними залежностями
% елементів власної матриці та вектора керувань
% -------------------------------------------------
d=0.5;ro=1000;dz=0.9;g=9.81;L2=90;r2=0.09;Q=0.008;
h0=2.27704847280248; Q20=0.00800000000000; P20=100;
S=pi*d^2/4;
kt2=2*pi*r2^2*sqrt(r2/L2/dz);
A=4*pi*r2^3/dz;
a12=-1/S;
a21=kt2^2*g/A;
a22=-2/A*Q20;
b21=-kt2^2/A/ro;
A=[0 a12; a21 a22]
B=[0; b21]
>> matr
A =
0 -5.09295817894065
0.00277371215385 -1.57190067251255
B =
1.0e-006 *
0
-0.28274333882308
Обчислимо матриці різниць одержаних значень коефіцієнтів з допомогою функції Linmod та аналітичним шляхом у відносних одиницях:
» (a-A)./a
ans =
0 0
2.486653321571961e-012 8.348387643407864e-014
» (b(2,2)-B(2))/B(2)
ans =
-1.418004942179130e-009
Висновки
За результатами порівняння значень параметрів стану, одержаних аналітично та шляхом застосування функції Trim, різниця у відносних одиницях не перевищує 2е-6 % (дивися табл.1).
Всі коефіцієнти обчислені з похибкою (1e-3 %.