|
▼学生です さん:
こんばんは。
コードを拝見しました。
>y=a+bx
> b=Sxy/Sx
> a=yave-bxave
> Sx=Σ(xi-xave)2
> Sxy=Σ(xi-xave)(yi-yave)
> xave=(1/n)Σxi
> yave=(1/n)Σyi
この問題の上記の式を理解されていますか?
例を作成してみるとよいと思いますが。
a=1、b=2とした場合、
A列に1〜30を入力し、
B列に3,5,7,9・・・・と入力してみて下さい。
これでこの計算式に当てはめて 結果、a=1、b=2になる事を確認して下さい。
すると、やらなければならない事が見えてくると思います。
そうすると、
>Sub for3()
>Dim x As Integer, y As Integer, a As Integer, b As Integer, sxy As Integer, sx As Integer, xave As Integer, yave As Integer, xi As Integer, yi As Integer, wx As Integer, wy As Integer
'↑の変数の型が整数ではまずいかな?ということも見えてくると思います。
>xi = Cells(x, 1).Value
>yi = Cells(y, 2).Value
>wx = 0
>wy = 0
>For x = 1 To 30 Step 1
>wx = wx + x
>Next x
>For y = 1 To 30 Step 1
>wy = wy + y
>Next y
>yi = a * xi + b
>b = sxy - sx
>a = yave - b * xave
>sx = (wx - xave) ^ 2
>sxy = (wx - xave) * (wy - yave)
>xave = wx / 30
>yave = wy / 30
>Cells(1, 3).Value = a
>Cells(2, 3).Value = b
>End Sub
|
|