Aproksymacja 1

Transkrypt

Aproksymacja 1
Aproksymacja danych za pomocą regresji liniowej
Przykład wyznaczania liniowej zależności masy ciała od wzrostu. W wyniku wykonania
procedury otrzymuje się wektor parametrów a,b równania y=ax+b.
Skrypt SciLab:
//Regresja liniowa jednowymiarowa
//Zaleznosc masy ciala od wzrostu
wzrost=[170,172,175,166,183,170,173,183,186,165,158,183,178]';
waga=[65,70,65,66,93,72,68,73,80,80,70,77,80]';
x=wzrost; y=waga;
//Wyznaczenie srednich
xm=mean(x); ym=mean(y);
x2m=mean(x.*x); xym=mean(x.*y);
//Wyznaczenie wspolczynnikow rownania prostej
a=(xym-xm*ym)/(x2m-xm*xm);
b=ym-a*xm;
disp('a='+string(a));
disp('b='+string(b));
//Punkty prostej aproksymujacej
x1=linspace(150,200,200);
y1=a*x1+b;
//Graficzna prezentacja wynikow
plot(x,y,'.r');
plot(x1,y1,'b');
xlabel('Wzrost');
ylabel('Waga');
legend('Dane pomiarowe','Linia aproksymujaca');
Otrzymane parametry:
a=0.4845606
b=-10.544308
Wizualizacja
otrzymanej
aproksymacji:

Podobne dokumenty