Bartosz Nowak, gr5, IA, WIMiR
Sprawozdanie 4
Aproksymacja
1. Tabela wartości:
Średnie dzienne temperatury w Polsce w grudniu 2009r
Dzień | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
t*C | 11 | 5 | -2 | 7 | 2 | 4 | 7 | 4 | 5 | 4 | 3 | -3 | -4 | -2 | 3 |
16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
-6 | -12 | -13 | -13 | -15 | -12 | -9 | 3 | 0 | 10 | 5 | 0 | -1 | 0 | -4 | -3 |
2. Kod
clear all
kolor=['b','g','r','c','m','y','k',];
wzor=['b:','g:','r:','c:','m:','y:','k:'];
x=1:1:31;
y=[11,5,-2,7,2,4,7,4,5,4,3,-3,-4,-2,-3,-6,-12,-13,-13,-15,-12,-9,3,0,10,5,0,-1,0,-4,-3];
plot(x,y,'+')
title('Wykres temperatury w grudniu 2009 oraz jego aproksymacja');
xlabel('Kolejny dzien miesiaca');
ylabel('Temperatura w *C');
grid on
hold on
for r=1:8
a=polyfit(x,y,r);
for i=1:31
y2(i)=polyval(a,x(i));
end
if r<=7
plot(x,y2,kolor(r));
else
plot(x,y2,wzor(r));
end
end
3. Wnioski
Za pomocą aproksymacji w matlab’ie można w banalny sposób przyrównywać różne dane (w tym przypadku akurat temperaturę) do prostej lub też do wielomianów różnego stopnia. Na wykresie widać aproksymację do prostej (kolor niebieski) oraz do kilku wielomianów różniących się stopniem. Wg mnie najlepszym przybliżeniem jest wielomian stopnia 7 (na wykresie kolor czarny).