Tutorial_MATLAB_04_3.pdf
(
201 KB
)
Pobierz
Laboratorium POK
Materiały do Laboratorium Informatyki
Rok akademicki: 2007/08
Semestr: letni
MATLAB – cz. 4.3 – Regresja
Wykonanie następującego skryptu:
clear all;
t=[0 .3 .8 1.1 1.6 2.3]';
y=[0.5 0.82 1.14 1.25 1.35 1.40]’;
/UWAGA: Wektory są transponowane/
plot(t,y,'o');
grid on;
hold on;
spowoduje wyświetlenie takiego wykresu:
1.4
1.3
1.2
1.1
1
0.9
0.8
0.7
0.6
0.5
0
0.5
1
1.5
2
2.5
Dane przedstawione na wykresie mogę pochodzić np. z pomiarów. Chcemy znaleźć funkcję
która najlepiej będzie modelowała wyniki pomiarów.
Regresja wielomianowa
Na podstawie wykresu można przypuszczać, że dane pomiarowe mogą być opisane
następującym modelem:
y
=
a
+
a
t
+
a
t
2
0
1
2
Nieznane parametry a
0
, a
1
oraz a
2
mogą być wyznaczone metodą najmniejszych kwadratów,
która minimalizuje sumę kwadratów różnic pomiędzy modelami a danymi. W naszym
przypadku mamy sześć równań i trzy niewiadome:
⎡
y
⎤
⎡
1
t
t
2
⎤
1
⎢
⎥
⎢
⎥
y
⎢
1
t
t
2
⎥
⎢
⎥
2
⎡
a
⎤
⎢
⎥
0
⎢
y
⎥
1
t
t
2
⎢
⎥
⎢
3
⎥
=
⎢
⎥
×
a
⎢
⎥
y
1
t
t
2
1
⎢
⎥
⎢
⎥
4
⎢
⎥
a
⎣
⎦
⎢
⎥
⎢
⎥
y
1
t
t
2
2
⎢
5
⎥
⎢
⎥
⎣
y
⎦
⎢
1
t
t
2
⎥
6
Opracował: dr inż. Witold Nocoń na podstawie podręcznika MATLAB – User Guide 6.
⎣
⎦
Materiały do Laboratorium Informatyki
Rok akademicki: 2007/08
Semestr: letni
Równania te reprezentowane są przez macierz o rozmiarze 6x3:
X =
1.0000 0 0
1.0000 0.3000 0.0900
1.0000 0.8000 0.6400
1.0000 1.1000 1.2100
1.0000 1.6000 2.5600
1.0000 2.3000 5.2900
Znając zarówno macierz X jaki i wektor y, możemy obliczyć wektor parametrów a w
następujący sposób:
a=X\y
a =
0.5318
0.9191
-0.2387
A więc wielomian drugiego stopnia, który będzie naszym modelem na następującą postać:
y
=
0
5318
+
0
919
t
−
0
2387
t
2
A więc po wykonaniu następujących operacji:
T=(0:0.1:2.5)';
Y=[ones(size(T)) T T.^2]*a;
plot(T,Y,'-');
Otrzymujemy następujący wykres:
1.5
1.4
1.3
1.2
1.1
1
0.9
0.8
0.7
0.6
0.5
0
0.5
1
1.5
2
2.5
Widzimy, że funkcja ta nie aproksymuje danych pomiarowych idealnie.
Opracował: dr inż. Witold Nocoń na podstawie podręcznika MATLAB – User Guide 6.
Materiały do Laboratorium Informatyki
Rok akademicki: 2007/08
Semestr: letni
Regresja liniowa względem parametrów
Zamiast wielomianu, możemy wypróbować inną funkcję która jest
liniowa względem
parametrów
. Np.:
y
=
a
+
a
e
−
+
t
a
te
−
t
0
1
2
Analogicznie do poprzedniego przypadku, obliczymy:
X1=[ones(size(t)) exp(-t) t.*exp(-t)];
a1=X1\y
a1 =
1.3974
-0.8988
0.4097
A więc nasz model będzie miał następującą postać:
y
=
1
3974
−
0
8988
e
−
+
t
0
4097
te
−
t
Analogicznie do poprzedniego przypadku pokażmy jak model ten pasuje do punktów
pomiarowych:
T1=(0:0.1:2.5)';
Y1=[ones(size(T1)) exp(-T1) T1.*exp(-T1)]*a1;
plot(T1,Y1,
'r-'
);
Co daje następujący wynik:
1.6
1.4
1.2
1
0.8
0.6
0.4
0
0.5
1
1.5
2
2.5
Opracował: dr inż. Witold Nocoń na podstawie podręcznika MATLAB – User Guide 6.
Plik z chomika:
mariuszlew
Inne pliki z tego folderu:
algorytmy_grupowania(1).pdf
(54 KB)
au.rar
(1479 KB)
ETI30z.zip
(5 KB)
grupowanie_danych.pdf
(40 KB)
grupowanie_danych.ppt
(367 KB)
Inne foldery tego chomika:
3D Album
Adobe
angielski
Boris Blu
I rok
Zgłoś jeśli
naruszono regulamin