Tutorial MATLAB 05


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 x2 -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
Aatwo sprawdzić, że zwiększanie stopnia wielomianu nie będzie dobrym wyjściem:
Trzeci rząd: Czwarty rząd:
22 24
22
20
20
18
18
16
16
14
14
12
12
10
10
8
8
6
6
4 4
1 1.5 2 2.5 3 3.5 4 4.5 5 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ą
p(1);
niezależną, p jest wektorem parametrów, zaś funkcja jest postaci f (x)=
x
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


Wyszukiwarka

Podobne podstrony:
Tutorial MATLAB 3
Tutorial MATLAB
Tutorial MATLAB
Tutorial MATLAB 1
Tutorial MATLAB
Tutorial MATLAB 2
Tutorial MATLAB
Tutorial MATLAB
Tutorial MATLAB
Tutorial MATLAB
Artificial Neural Networks The Tutorial With MATLAB
matlab tutorium1
Matlab Polski tutorial
matlab tutorium2
Matlab tutorial GUI
MATLAB cw Skrypty
SIMULINK MATLAB to VHDL Route

więcej podobnych podstron