Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


72540 / 76732 ←次へ | 前へ→

【8675】Re:ヒントその3
発言  ichinose  - 03/10/28(火) 23:39 -

引用なし
パスワード
   ▼学生です さん:
こんばんは。
コードを拝見しました。
>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

0 hits

【8668】最小二乗法の課題で・・・。 学生です 03/10/28(火) 16:40 質問
【8672】Re:それを考えるのが勉強 角田 03/10/28(火) 17:58 発言
【8674】Re:最小二乗法の課題で・・・。 りん 03/10/28(火) 18:17 回答
【8675】Re:ヒントその3 ichinose 03/10/28(火) 23:39 発言

72540 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free