プロが教えるわが家の防犯対策術!

標準偏差と分散を求めるプログラムで

#include <stdio.h>
#include <math.h>

int main(void){
int i;
double data[10];
double heikin, total = 0.0, variance = 0.0, deviation = 0.0;

for ( i = 0; i < 10; i++ ){

printf("%d番目の値を入力:",i + 1);
scanf( "%lf",&data[i] );
total += data[i];
}

heikin = total / 10.0;

for(i = 0; i < 10; i++ ){

variance += ((data[i]-heikin)*(data[i] - heikin))/10.0;
}
deviation += sqrt(variance); printf("平均値は%f\n" , heikin );
printf("分散は%fです。\n",variance);
printf("標準偏差は%fです\n",deviation);


getchar();
getchar();
return(0);
}
という感じでいいのでしょうか?
分散と標準偏差の式はこれであっているとおもうのですが・・・・。

A 回答 (2件)

ん, そんなところ.


あとは気分の問題ですが, 「無駄だ」と思っても, variance を 0 クリアするコードを (variance を積算する) for の前に入れた方がよいかも.
    • good
    • 0

deviation += sqrt(variance);


だけは謎です.
まあ, deviation を求めるところも「10 で割る」のは 1回でいいような気がしますが, そっちはそれほど問題じゃないかな.
    • good
    • 0
この回答へのお礼

そうですね。
deviation += sqrt(variance);

deviation = sqrt(variance);
ということですかね?

お礼日時:2007/11/14 07:22

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