Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
М_ЧисМетидиМод.DOC
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

6.5 Розв’язок лінеаризованої моделі аналітичним способом

Запишемо лінеаризовану математичну модель (6.8) і (6.9) об’єкта в у векторно-матричному вигляді

, (6.17)

де

, ,

, .

Перетворимо рівняння (6.17) за Лапласом при нульових початкових умовах

.

Із останнього рівняння знаходимо

. (6.18)

За визначенням матричної передавальної функції

. (6.19)

Порівнюючи (6.18) і (6.19), приходимо до висновку, що

.

Обчислимо

,

де .

Отже,

.

Знаходимо ,

де , .

Підставимо значення в формулу (5.1)

З врахуванням значень , i, j=1,2, находимо

,

.

Для знаходження функцій і скористаємося зворотним перетворенням Лапласа, яке дає таку формулу для обчислення величин і :

, , ,

В нашому випадку

, .

Отже,

Після відповідних перетворень отримуємо

Аналогічно для отримаємо

Так як і , то

.

Якщо розкрити дужки і згрупувати відповідні члени, то приходимо до висновку, що

.

Аналогічно знаходимо, що

.

6.6 Розв’язок лінеаризованої моделі числовим методом

Для розв’язку моделі числовим методом лінеаризовану математичну модель об’єкта подамо у матрично-векторній формі. Тоді можна скористатись методом Рунге-Кутта розв’язку систем диференціальних рівнянь і відповідно програмою, яка наведена на рис. 6.6, а відповідний М-файл наведений на рис. 6.7.

М-файл, який наведений на рис. 6.7 написаний з врахуванням того, що рівняння (6.8) і (6.9) записані у матрично-векторній формі і відповідно

.

%====================================================

%Метод Рунге-Кутта розв'язку Y'=Ay+Bu задачі Коші на

%інтервалі [t0;tk] з початковою умовою y(0)=0

%====================================================

%Вхід:F(t,y)=Ay+Bu-вектор-функція, значення якої задати у

% М-файлі fun_RM_SysLM

% to,tk-початкова і кінцева точки інтегрування

% Y0-вектор початкових умов

% n-число ітерацій

%Вихід:t-вектор абсцис

% y-матриця ординат

%----------------------------------------------------

%Вхідні дані

%----------------------------------------------------

t0=0;

%Файл вхідних дій А1 і А2 та кількості точок n і

%кінцевого часу tk

load RevoltingAction

%----------------------------------------------------

%Задаємо нульові початкові умови

y10=0;

y20=0;

%Викликаємо файл ParametersModel з параметрами

%лінеаризованої моделі і формуємо матриці А і В

load ParametersModel

A=[a11 a12;a21 a22];

B=[b11 0;0 b22];

%Викликаємо файл Parameters з параметрами

%q10,P2,S1,S2,H10,H20,U0

load Parameters

u1=A1*q10;

u2=A2*U0;

u=[u1;u2];%Вектор вхідних дій

%----------------------------------------------------

%Обсилюємо крок h та ініціалізуємо вектори t,y

%----------------------------------------------------

h=(tk-t0)/n;

%----------------------------------------------------

%Ітераційна процедура методу Рунге_Кутта

%----------------------------------------------------

t=t0:h:tk;%Дискретний час з кроком h

Y0=[y10 y20];

y(1,:)=Y0;%У перший рядок матриці y занесені початкові умови

for k=1:n

f1=fun_RKLn(t(k),y(k,:),A,B,u);

f2=fun_RKLn(t(k)+h/2,y(k,:)+h*f1/2,A,B,u);

f3=fun_RKLn(t(k)+h/2,y(k,:)+h*f2/2,A,B,u);

f4=fun_RKLn(t(k)+h,y(k,:)+h*f3,A,B,u);

y(k+1,:)=y(k,:)+(f1+2*f2+2*f3+f4)*h/6;

end

%----------------------------------------------------

%Графік розв'язку задачі

%----------------------------------------------------

y1=y;

yy=[H10 H20];%Початкові умови нелінійної мрделі

load('ch')

Y(:,1)=y(:,1)-yy(1);

Y(:,2)=y(:,2)-yy(2);

x=fun_analiticLM(t0,tk,n,A,B,u1,u2);

plot(t,y1(:,1),'r',t,y1(:,2),'c',t,Y(:,1),'g',t,Y(:,2),'k')

hold on

plot(t,x(:,1),'om',t,x(:,2),'+b')

Y(1,:)=[];

y1(1,:)=[];

%Розрахунок точності лінеаризації нелінійної моделі

e1=abs((y1-Y));

e=max(e1);

Рисунок 6.8 – Програма розв'язку лінеаризованої математичної моделі методом Рунге-Кутта

function f=fun_RKLn(t,y,A,B,u)

%====================================================

%Функція задачі Коші Y'=Ay+Bu(Метод Рунге-Кутта)

%====================================================

%Параметри моделі:

% u - вектор вхідних дій

% A, B - матриці коефіцієнтів

% лінеаризованої математичної

% моделі

%----------------------------------------------------

F=A*y'+B*u;

f=F';

Рисунок 6.9 – М-файл до програми рис. 6.8

Обчислення значень і здійснюється за

допомогою М-файла , який наведений на рис. 6.10.

function x=fun_analiticLM(t0,tk,n,A,B,u1,u2)

%====================================================

%Обчислення виходів моделі за аналітичним розв'язком

%====================================================

%Вхід:

% u1, u2 - вхідні дії

% A, B - матриці коефіцієнтів

% лінеаризованої математичної

% моделі

%----------------------------------------------------

%Обсилюємо крок h

%----------------------------------------------------

h=(tk-t0)/n;

a=A;b=B;

p=a(1,1)+a(2,2);

d=a(1,1)*a(2,2)-a(1,2)*a(2,1);

p1=(p+sqrt(p^2-4*d))/2;

p2=(p-sqrt(p^2-4*d))/2;

t=t0:h:tk;

for i=1:n+1

x(i,1)=(u1*b(1,1)*((p2-a(2,2))*(1-exp(p2*t(i)))/p2-(p1-a(2,2))*...

(1-exp(p1*t(i)))/p1)+u2*b(2,2)*a(1,2)*((1-exp(p2*t(i)))/p2-...

(1-exp(p1*t(i)))/p1))/(p1-p2);

x(i,2)=(u2*b(2,2)*((p2-a(1,1))*(1-exp(p2*t(i)))/p2-(p1-a(1,1))*...

(1-exp(p1*t(i)))/p1)+u1*b(1,1)*a(2,1)*((1-exp(p2*t(i)))/p2-...

(1-exp(p1*t(i)))/p1))/(p1-p2);

end

Рисунок 6.10 – М-файл обчислення виходів моделі за аналітичним розв'язком

Результати розв’язку лінеаризованої математичної моделі об’єкта аналітичним і числовим способами показані на рис. 5.4, із якого випливає, що отримані результати числового і аналітичного розв’язків співпадають.

Лінійна модель

Нелінійна модель

Рисунок 5.4 – Результати розв'язку математичної моделі

Порівняємо між собою результати розв’язку початкової і лінеаризованої моделей об’єкта. Для цього оцінимо максимальну похибку лінеаризації моделі за такою формулою:

,

де - вихід початкової (нелінійної) моделі;

- вихід лінеаризованої моделі.

Отримаємо, що =0,063 для змінної і = 0,0027 для змінної . У першому випадку маємо помітне значення відхилення від . Це пояснюється тим що відхилення є більшим, ніж відхилення командного тиску від усталених значень і . Воно може бути зменшеним, якщо зменшити величини відхилень і .