- •Розділ 1. Обробка вхідного сигналу u(t), знаходження апроксимуючої функції та вибір оптимальної моделі
- •1.1 Табулювання сигналу
- •1.2 Побудова моделі за допомогою поліноміальної інтерполяції поліномом 7-го степеня
- •1.3 Побудова моделі за допомогою полінома Чебишева
- •1.4 Побудова моделі за допомогою перетворення Фур’є
- •1.5 Статистична обробка даних
- •1.6 Знаходження періодограми сигналів
- •1.7 Вибір оптимальної моделі
- •Оптимальні значення моделей
- •Розділ 2. Обробка вхідного сигналу w(t), знаходження апроксимуючої функції та вибір оптимальної моделі
- •2.1 Табулювання сигналу
- •2.2 Побудова моделі за допомогою поліноміальної інтерполяції поліномом 7-го степеня
- •2.3 Побудова моделі за допомогою полінома Чебишева
- •2.4 Побудова моделі за допомогою перетворення Фур’є
- •2.5 Статистична обробка даних
- •2.6 Знаходження періодограми сигналів
- •2.7 Вибір оптимальної моделі
- •Оптимальні значення моделей
- •Розділ 3. Обробка вихідного сигналу y(t), знаходження апроксимуючої функції та вибір оптимальної моделі
- •3.1 Табулювання сигналу
- •3.2 Побудова моделі за допомогою поліноміальної інтерполяції поліномом 7-го степеня
- •3.3 Побудова моделі за допомогою полінома Чебишева
- •3.4 Побудова моделі за допомогою перетворення Фур’є
- •3.5 Статистична обробка даних
- •3.6 Знаходження періодограми сигналів
- •3.7 Вибір оптимальної моделі
- •Оптимальні значення моделей
- •Розділ 4. Побудова загальної моделі системи
- •4.1 Табулювання двох вхідних та одного вихідного сигналів
- •4.2 Побудова першої моделі системи, виду
- •4.3 Побудова другої моделі системи, виду
- •4.3 Побудова третьої моделі системи, виду
- •4.4 Вибір оптимальної моделі
- •Оптимальні значення моделей
- •Висновок
- •Список використаних джерел
4.2 Побудова першої моделі системи, виду
Y = a0+a1 U(t)+a2W(t)
За методом найменших квадратів система рівнянь для першої моделі буде мати вигляд:
Нижче приведемо лістинг модуля рішення даної системи:
clear;
load data.mat
for i=1:8;
for j=1:8;
A(i,j)=sum(n1t.^(i+j-2));
end;
end;
for i=1:8;
B(i)=sum(n1t.^(i-1).*n1ut);
end;
a1=B/A;
t=1:150;
f1=a1(8)*t.^7+a1(7)*t.^6+a1(6)*t.^5+a1(5)*t.^4+a1(4)*t.^3+a1(3)*t.^2+a1(2)*t+a1(1);
for i=1:8;
for j=1:8;
A(i,j)=sum(n2t.^(i+j-2));
end;
end;
for i=1:8;
B(i)=sum(n2t.^(i-1).*n2wt);
end;
a2=B/A;
f2=a2(8)*t.^7+a2(7)*t.^6+a2(6)*t.^5+a2(5)*t.^4+a2(4)*t.^3+a2(3)*t.^2+a2(2)*t+a2(1);
for i=1:8;
for j=1:8;
A(i,j)=sum(n3t.^(i+j-2));
end;
end;
for i=1:8;
B(i)=sum(n3t.^(i-1).*n3yt);
end;
a3=B/A;
f3=a3(8)*t.^7+a3(7)*t.^6+a3(6)*t.^5+a3(5)*t.^4+a3(4)*t.^3+a3(3)*t.^2+a3(2)*t+a3(1);
sf1=0;sf2=0;sf3=0;sf12=0;sf22=0;sf1f2=0;sf1f3=0;sf2f3=0;
n=150;
sf1=sum(f1);
sf2=sum(f2);
sf3=sum(f3);
sf12=sum(f1.^2);
sf22=sum(f2.^2);
sf1f2=sum(f1.*f2);
sf1f3=sum(f1.*f3);
sf2f3=sum(f2.*f3);
A1=[n sf1 sf2;sf1 sf12 sf1f2;sf2 sf1f2 sf22];
B1=[sf3 sf1f3 sf2f3];
a=B1/A1;
sysmod1=a(3).*f2+a(2).*f1+a(1);
hPlot=plot(t,f3,'red');
hold on;
hPlot1=plot(t,sysmod1);
grid on;
xlabel('t')
ylabel('Y(t)')
set( hPlot,'LineWidth', 2 );
set( hPlot1,'LineWidth', 2 );
S1=sqrt((sum(f3-sysmod1)^2)/(n-2));
Нижче побудуємо її графічне представлення і знайдемо коефіцієнти а0, а1 , і а2 , які визначатимуть модель:
a0 = 0.5928;
a1 = 0.8528;
a2 = 0.1889.
Рис. 4.1 – Загальна модель системи виду
Y = a0+a1 U(t)+a2W(t)
4.3 Побудова другої моделі системи, виду
Y = a0+a1 U(t)+a2W(t)+a3U(t)W(t)
За методом найменших квадратів система рівнянь для першої моделі буде мати вигляд:
Нижче приведемо лістинг модуля рішення даної системи:
clear;
load data.mat
for i=1:8;
for j=1:8;
A(i,j)=sum(n1t.^(i+j-2));
end;
end;
for i=1:8;
B(i)=sum(n1t.^(i-1).*n1ut);
end;
a1=B/A;
t=1:150;
f1=a1(8)*t.^7+a1(7)*t.^6+a1(6)*t.^5+a1(5)*t.^4+a1(4)*t.^3+a1(3)*t.^2+a1(2)*t+a1(1);
for i=1:8;
for j=1:8;
A(i,j)=sum(n2t.^(i+j-2));
end;
end;
for i=1:8;
B(i)=sum(n2t.^(i-1).*n2wt);
end;
a2=B/A;
f2=a2(8)*t.^7+a2(7)*t.^6+a2(6)*t.^5+a2(5)*t.^4+a2(4)*t.^3+a2(3)*t.^2+a2(2)*t+a2(1);
for i=1:8;
for j=1:8;
A(i,j)=sum(n3t.^(i+j-2));
end;
end;
for i=1:8;
B(i)=sum(n3t.^(i-1).*n3yt);
end;
a3=B/A;
f3=a3(8)*t.^7+a3(7)*t.^6+a3(6)*t.^5+a3(5)*t.^4+a3(4)*t.^3+a3(3)*t.^2+a3(2)*t+a3(1);
n=150;
hold off;
sf1=sum(log(f1));
sf2=sum(log(f2));
sf1f1=sum(log(f1).^2);
sf1f2=sum(log(f1).*log(f2));
sf1sf2=sum(sf1.*sf2);
sf1f1f2=sum((log(f1).^2).*log(f2));
sf2f2=sum(log(f2).^2);
sf2f2f1=sum((log(f2).^2).*log(f1));
sf2f2sf1f1=sum((log(f1).^2).*(log(f2).^2));
sf3=sum(log(f3));
sf1f3=sum(log(f1).*log(f3));
sf2f3=sum(log(f2).*log(f3));
sf3f3=sum(log(f3).^2);
A1=[n sf1 sf2 sf1sf2;sf1 sf1f1 sf1f2 sf1f3;sf2 sf1f2 sf2f2 sf2f3;sf1sf2 sf1f1f2 sf2f2f1 sf2f2sf1f1];
B1=[sf3 sf1f3 sf2f3 sf3f3];
a=B1/A1;
sysmod2=a(4).*f1.*f2+a(3).*f2+a(2).*f1+a(1);
hPlot=plot(t,f3,'red');
hold on;
hPlot1=plot(t,sysmod2);
grid on;
xlabel('t')
ylabel('Y(t)')
set( hPlot,'LineWidth', 2 );
set( hPlot1,'LineWidth', 2 );
S2=sqrt((sum(f3-sysmod2)^2)/(n-2));
Розв’язавши її, знайдемо коефіцієнти а0, а1, а2 і а3, які визначатимуть модель:
a0 = 0.0007;
a1 = 0.5924;
a2 = 0.5339;
a3 = 0.0000216.
Нижче побудуємо графічне представлення моделі, на якому видно її співвідношення до реального об’єкта.
Рис. 4.2 – Загальна модель системи виду
Y = a0+a1 U(t)+a2W(t)+a3W(t)W(t)
