最小2乗近似曲線

まず適当に乱雑な点を生成してみた.

>plot(X,y,'b+');
>hold on


で,この点集合を通る最小2乗曲線近似直線を書いてみた.

多項式の字数は3とした.
Matlabのpolyfit・polyval関数を使った.

>P = polyfit(X,Y,n) %[X,Y]を通るn次多項関数を求める
>poly_y = polyval(P,X) %求めたn次多項関数にXを代入
>plot(X,poly_y,'r-');

Kwmr先生の授業の時はC++で書いたが,Matlabだと一瞬.
なお,多項式の次数を3から4,5と増やしていくと次のようになった.

4が緑色,5が青色の線.少しずつずれていく.