Tutorial_MATLAB_05.pdf
(
94 KB
)
Pobierz
Laboratorium POK
Materiały do Laboratorium Informatyki
Rok akademicki: 2006/07
Semestr: letni
MATLAB – cz. 5 – Regresja nieliniowa
Jednym z rodzajów regresji jest regresja dowolną funkcją. Rozpatrzmy następujący przykład
dopasowania wielomianu do punktów pomiarowych:
xp=[1 2 3 4 5];
yp=[22 11 7.3 5.5 4.5];
x=1:0.1:5;
a=polyfit(xp,yp,2);
y=polyval(a,x);
plot(xp,yp,
'o'
,x,y,
'r'
);
title(sprintf(
'f(x)=%3.2f x^2 %3.2f x+ %3.2f'
,a(1),a(2),a(3)));
f(x)=1.56 x
2
-13.44 x+ 33.16
22
20
18
16
14
12
10
8
6
4
1
1.5
2
2.5
3
3.5
4
4.5
5
Łatwo sprawdzić, że zwiększanie stopnia wielomianu nie będzie dobrym wyjściem:
Trzeci rząd:
Czarty rząd:
22
24
20
22
18
20
16
18
14
16
14
12
12
10
10
8
8
6
6
4
1
1.5
2
2.5
3
3.5
4
4.5
5
4
1
1.5
2
2.5
3
3.5
4
4.5
5
Jakkolwiek dla czwartego rzędu wielomianu wydawać by się mogło, że wielomian dobrze
aproksymuje te dane, ale dzieje się tak tylko dlatego, że wielomian czwartego rzędu zawsze
może dopasować się do pięciu punktów pomiarowych.
W tym przypadku funkcją która dobrze aproksymowała by dane punkty jest funkcja
hiperboliczna (1/x). Wykonanie następujących instrukcji:
figure(2);
funA=inline(
'p(1)./x'
,
'p'
,
'x'
);
p0=[1];
p=nlinfit(xp,yp,funA,p0);
y=funA(p,x);
Opracowali: dr inż. Witold Nocoń, dr inż. Dariusz Choiński
Materiały do Laboratorium Informatyki
Rok akademicki: 2006/07
Semestr: letni
plot(xp,yp,
'o'
,x,y,
'r'
);
title(sprintf(
'f(x)=%3.2f x^-^1'
,p(1)));
spowoduje wyświetlenie następującego wykresu (funkcja nlinfit może być nie dostępna we
wszystkich wersjach MATLAB’a):
f(x)=22.01 x
-1
24
22
20
18
16
14
12
10
8
6
4
1
1.5
2
2.5
3
3.5
4
4.5
5
Widzimy wiec, że funkcja ta posiada tylko jeden parametr, a znacznie lepiej aproksymuje
dane punkty pomiarowe.
Przeanalizujmy ten skrypt:
funA=inline(
'p(1)./x'
,
'p'
,
'x'
);
-
tworzymy funkcję w której x jest zmienną
niezależną, p jest wektorem parametrów, zaś funkcja jest postaci
()
f
x
1
= ;
p=nlinfit(xp,yp,funA,p0); -
funkcja dokonuje nieliniowej regresji szukając
najlepszej funkcji funA dopasowującej się do xp i yp. p0 jest warunkiem początkowym dla
szukanej wartości parametru funkcji.
Pozostałe polecenia są już oczywiste.
Opracowali: dr inż. Witold Nocoń, dr inż. Dariusz Choiński
()
x
p
Plik z chomika:
JacekSzulc
Inne pliki z tego folderu:
Matlab - obiczenia numeryczne i ich zastosowanie.pdf
(175326 KB)
Intuitive Probability and Random Processes Using MatLab - Steven M. Kay.pdf
(58839 KB)
Digital Image Processing Using Matlab - Gonzalez Woods & Eddins.pdf
(39303 KB)
Matlab an Introduction with Application (A. Gilat).pdf
(59873 KB)
Digital Signal Processing - Computer Based Approach - Sanjit K. Mitra.pdf
(33609 KB)
Inne foldery tego chomika:
_VIDEO Analiza Matematyczna 1 [Politechnika Wrocławska]
Afera Epsteina
Afera podsłuchowa
Analiza matematyczna 1
Angielski
Zgłoś jeśli
naruszono regulamin