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: