% データを与えて回帰直線を求めるプログラムのための雛形 n=input("the number of data = ? "); % データ数の入力 for k=1:n % k=1 から k=n までループを回す k x(k)=input("x = ? "); % x(k) の値の入力 y(k)=input("y = ? "); % y(k) の値の入力 end %----------- xbar=0; for k=1:n xbar=xbar+x(k); end xbar=xbar/n; ybar=0; for k=1:n ybar=ybar+y(k); end ybar=ybar/n; xysum=0; xxsum=0; for k=1:n xysum=xysum+(x(k)-xbar)*(y(k)-ybar); xxsum=xxsum+(x(k)-xbar)**2 end a=xysum/xxsum b=ybar-a*xbar %----------- % 以下, グラフ出力(入力点と回帰直線両方) plot(x,y,'*',x,a*x+b)