и, для цього з першого рівняння виражається і підставляється в друге:
Розкриваємо дужки:
І групуємо змінні
) В якості вихідної змінної приймемо сигнал, переносимо його в ліву частину:
ідентифікація динамічна система сигнал
і остаточно (множачи праву частину на коефіцієнт):
отримаємо шукану лінійно-регресійну форму
,
де - вектор параметрів,
- вектор регресійних змінних.
) Формується матриця і вектор для схеми МНК. Знаходиться рішення схеми МНК - оцінку вектора параметрів з рівняння:
Скрипт наведений нижче:
all;=0; % Завдання початкових умов=1;
a21=2;=3;=- 1;=- 2;=- 3;=- 4;=0.02; % Крок
km=100; % Права межа=zeros (2, km); % Початкове обнулення Х (1,1)=1; % Початкові умови (2,1)=- 1;=[a11, a12; a21, a22];=[1,0; 0,1;]; k=1: km% заповнення керуючих сигналів
kdt (k)=(k - 1) * dt; (k)=k/200; (k)=1; k=1: km - 1 (1)=b11 * u1 ( k) + b12 * u2 (k), (2)=b21 * u1 (k) + b22 * u2 (k); (1, k + 1)=dt * A (1,1) * x (1, k ) + dt * A (1,2) * x (2, k) + x (1, k) + ub (1), (2, k + 1)=dt * A (2,1) * x (1 , k) + dt * A (2,2) * x (2, k) + x (2, k) + ub (2);
end=1: 1: km;
% ========================================= == Метод МНК
% Формуємо необхідні векториk=1: km - 1
dx (1, k)=(x (1, k + 1) - x (1, k))/dt; (1, km)=0; (2, k)=( x (2, k + 1) - x (2, k))/dt; (2, km)=0; (1, k)=(u1 (k + 1) - u1 (k))/dt; ( 1, km)=0; (2, k)=(u2 (k + 1) - u2 (k))/dt; (2, km)=0;=[dx (1, :) x (1 ,: ) du (1, :) u1 du (2, :) u2];=vt ';=vt * v;=v * x (1,:);
c1=inv (F) * b;
% Матриця для перевірки
c1=[(a11 + a22)/a12 (a12 * a21-a11 * a22)/a12 b11/a12 (a22 * b11-b21 * a12)/a12 b12/a12 (a12 * b22-b12 * a22)/a12];
c1
Результати роботи наведені на Рис. 3.3
Рис.3.3 - Знаходження коефіцієнтів МНК
Порівняння
Порівняння параметрів моделі і результатів ідентифікації. Як видно з графіка на Рис.3.4 параметри моделі і результатів ідентифікації збігаються, що говорить про правильність рішення.
Рис.3.4 - Порівняння параметрів моделі і результатів ідентифікації
Порівняння графіків модельного вихідного сигналу та оцінки вихідного сигналу, відновленої за схемою МНК
В якості вихідних даних для схеми МНК нам заданий графік (перехідний процес) вихідного сигналу. Ми можемо побудувати оцінку цього сигналу, використовуючи знайдену оцінку вектора параметрів за лінійно-регресійної формулою:
Порівняти модельний сигнал і оцінку сигналу можна за формулою для суми СКО для всіх точок вимірів:
При точних оцінках вектора СКО повинна дорівнювати нулю і графіки і повинні збігатися.
У побудованій моделі величина відхилення дорівнює 0,02749, що підтверджує правильність рішення.
Повний скрипт наведений нижче:
До звіту додається файл Lab1_3. m з реалізацією цього завдання
all;=0; % Завдання початкових умов
a12=1;=2;=3;=- 1;=- 2;=- 3;=- 4;=0.02; % Крок
km=100; % Права межа=zeros (2, km); % Початкове обнулення Х (1,1)=1; % Початкові умови (2,1)=- 1;=[a11, a12; a21, a22];=[1,0; 0,1;]; k=1: km% заповнення керуючих сигналів
kdt (k)=(k - 1) * dt; (k)=k/200; (k)=1; k=1: km - 1 (1)=b11 * u1 ( k) + b12 * u2 (k), (2)=b21 * u1 (k) + b22 * u2 (k); (1, k + 1)=dt * A (1,1) * x (1, k ) + dt * A (1,2) * x (2, k) + x (1, k) + ub (1), (2, k + 1)=dt * A (2,1) * x (1 , k) + dt * A (2,2) * x (2, k) + x (2, k) + ub (2);
end=1: 1: km;
% ========================= Побудова графіків ( name , Керуючі впливи u1 (k * dt), u2 (k * dt) ); % відкриття вікна для графіка (kdt, u1 (k), kdt, u2 (k)); % малюємо графік
set (gca, YLim raquo ;, [0 2]); ( u1 (k * dt) , u2 (k * dt) ); on; % сітка отображается(laquo;kdtraquo;,laquo;fontnameraquo;,laquo;arialraquo;,laquo;fontsizeraquo;,21,laquo;colorraquo;, [1 1 0]); % Підпис Х ( y , fontname , arial new , fontsize , 23, color raquo ;, [0 1 0]); % підпис Y
figure ( name , Перехідні процеси x1 (k * dt), x2 (k * dt) ); % відкриття вікна для графіка (kdt, x (1, :), kdt, x (2, :)); % малюємо графік
legend ( x1 (k * dt) , x2 (k * dt) ); on; % сітка отображается(laquo;kdtraquo;,laquo;fontnameraqu...