アプリ版:「スタンプのみでお礼する」機能のリリースについて

身長と体重を10づつ入力してそれぞれの平均、分散、標準偏差、
身長と体重の共分散、相関係数を求めるプログラミングを
VisualBasicの分岐処理、繰り返し処理、配列の概念を利用して作りたいのですが
全然分かりません。教えてください。お願いします。

フォームはすでに出来ています。
身長はtext1をコピーして
text1(0) text1(1) text1(2) text1(3) text1(4) text1(5) text1(6) text(7)text(8) text(9)というように配列を使っています。
体重もtext2で同じようになっています。
command1をクリックすると、
身長の平均をtext3、    体重の平均をtext4、
   分散をtext5、       分散をtext6、
   標準偏差をtext7      標準偏差をtext8、
   共分散をtext9 相関係数をtext10
に表示できる    
具体的なプログラムを教えてください。
Private sub command1_click



End sub
の空欄に入力する内容を教えてください。

A 回答 (4件)

平均、分散、標準偏差、共分散、相関係数を求める方法を説明します


No1の方のコードを借りると(変数宣言は省略)
1.合計を求めます。
for i = 1 to 10
Goukei = Goukei + CDbl(text1(i))
Next

2.合計を要素数で割ると平均が出ます
Heikin = Goukei / 10

3.要素から平均を引いたものを偏差と言います。平均からの偏りという意味です。
その偏差を2乗して合計します。これを偏差平方和と言います。
for i = 1 to 10
HensaHeihouWa = HensaHeihouWa + (CDbl(text1(i)) - Heikin)^2
Next

4.偏差平方和を要素数で割ると分散が出ます(正確には標本分散です)
Bunsan= HensaHeihouWa / 10

5.分散の平方根(ルート)を取ると標準偏差になります
HyoujyunHensa = Sqr(Bunsan)

6.1から5を身長、体重とそれぞれ求めます。以後、身長の平均だったらShintyouHeikinというように記述します。

7.1人の身長の偏差と体重の偏差を掛けます。そしてそれを合計します。これを偏差積和と言います
for i = 1 to 10
HensaSekiWa = HensaSekiWa + (CDbl(text1(i)) - SintyouHeikin) * (CDbl(text2(i)) - TaijyuhHeikin)
next

8.偏差積和を要素数で割ります。それが共分散です
KyouBunsan = HensaSekiWa / 10

9.共分散を身長の分散と体重の分散の積の平方根で割ります。それが相関係数です
Soukankeisuh = KyouBunsan / Sqr(ShintyouBunsan*TaijyuhBunsan)

あとは任意のテキストボックスに必要な値を代入してください
    • good
    • 2

平均 mean x = (1/n) { X1 + X2 + ・・・ + Xn }


分散 variance v = (1/n) { (X1 - x)2 + (X2 - x)2 + ・・・ + (Xn - x)2 }
標準偏差 standard deviation s = v ^(1/2)
偏差値 xh = 50 + (Xt  - x )*10/s
変動係数 coefficient of variation c.v. = 100 * s / x
レンジ range rg = (データ最大値) - (データ最小値)
上が計算式です。
    • good
    • 1

一応データx(1),x(2),・・・x(n) があるとすると平均値Av、分散Va,標準偏差SDは


Av = Σx(i) / n
Va=(Σ(x(i)-Av)^2)/2
SD=√(Va)

また、xに対応するデータyがあるとき共分散Sxyと相関係数rは
Sxy=Σ((x(i)-xAv)*(y(i)-yAv)) / (n-1)
但し、xAvはxのyAvはyの平均
r=Σ((x(i)-xAv)*(y(i)-yAv)) / (Σ(x(i)-xAv)^2 * Σ(y(i)-yAv)^2 )

です。大丈夫かなヽ(^o^)丿
    • good
    • 0

まず確認ですが平均、分散、標準偏差、 共分散、相関係数を計算する方法はご存知ですか?また自分で(電卓などで)実際に計算できますか?これが出来なければ先に進めません。



次に「VisualBasicの分岐処理、繰り返し処理、配列の概念」は理解されていますか?

んで本題です。いきなりcommand1をクリックしてすべてを計算するのは面倒なのでまず、身長の平均値をtext3にいれる方法を。

Private sub command1_click

dim Goukei as double
dim i as integer

for i = 1 to 10
Goukei = Goukei + CDbl(text1(i))
Next

text3 = CStr(Goukei / 10.0)

End sub

てな感じでしょうか。

最後に、最近VBを触ってないのでかなりいい加減なコードです。構文エラーなどが出るかもしれませんが基本的な考え方はあっているはずですので、頑張ってみてください。

この回答への補足

ご回答ありがとうございます。
>まず確認ですが平均、分散、標準偏差、 共分散、相関係数を計算する方法はご存>知ですか?また自分で(電卓などで)実際に計算できますか?

大昔に学習した内容なので分かりません。先に進むために教えてください。

補足日時:2003/01/09 22:44
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!