Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C言語で標準偏差を計算するプログラムの書き方


標準偏差とは

標準偏差(Standard Deviation)は、データが平均値からどれだけばらついているかを測定するための基本的な統計指標です。値が平均の近くに集中していれば標準偏差は小さくなり、平均から大きく外れた値が多いほど標準偏差は大きくなります。

標準偏差を求める数学的な公式は以下のとおりです。

s = √(分散)

ここで、分散と平均(m)はそれぞれ次のように定義されます。

分散 = (1/n) × Σ (xi − m)2 (i = 1 ~ n)

m = 平均 = (1/n) × Σ xi (i = 1 ~ n)

アルゴリズム

与えられた数値群の標準偏差を計算するには、以下の手順に従います。

ステップ1 − n個の値を読み込む。

ステップ2 − 値の合計と平均を計算する。

ステップ3 − 分散を計算する。

ステップ4 − 標準偏差を計算する。

プログラム内で標準偏差を計算するために使用しているロジックは以下のとおりです。

for (i = 1 ; i<= n; i++){
    deviation = value[i] - mean;
    sumsqr += deviation * deviation;
}
variance = sumsqr/(float)n ;
stddeviation = sqrt(variance) ;

Cプログラムの例

以下は、入力された数値の標準偏差を計算するCプログラムの完全なソースコードです。

#include <math.h>
#define MAXSIZE 100
main( ) {
    int i,n;
    float value [MAXSIZE], deviation,
    sum,sumsqr,mean,variance,stddeviation;
    sum = sumsqr = n = 0 ;
    printf("Input values: input -1 to end \n");
    for (i=1; i< MAXSIZE ; i++) {
        scanf("%f", &value[i]);
        if (value[i] == -1)
        break;
        sum += value[i];
        n += 1;
    }
    mean = sum/(float)n;
    for (i = 1 ; i<= n; i++) {
        deviation = value[i] - mean;
        sumsqr += deviation * deviation;
    }
    variance = sumsqr/(float)n ;
    stddeviation = sqrt(variance) ;
    printf("\nNumber of items : %d\n",n);
    printf("Mean : %f\n", mean);
    printf("Standard deviation : %f\n", stddeviation);
}

プログラムのポイント

  • 最大100個(MAXSIZE)までの値を配列に格納できます。
  • 「-1」が入力されると読み込みを終了します(終端マーカーとして機能します)。
  • 整数除算による誤差を防ぐため、平均と分散の計算では (float) でキャストしています。
  • 平方根の計算には、math.h ヘッダーの sqrt() 関数を使用します。

実行結果

上記のプログラムをコンパイルして実行すると、次のような出力が得られます。

Input values: input -1 to end
2 4 6 8 12 4.5 6.7 0.3 2.4 -1
Number of items: 9
Mean: 5.100000
Standard deviation: 3.348300

  1. Excelで標準偏差と平均の標準誤差(SEM)を計算する方法|STDEV関数の使い方を解説

    Excelはさまざまな用途に活用できる便利なツールですが、特に統計データを扱う方にとっては欠かせない存在です。統計学でよく使われる指標に「標準偏差」と「平均の標準誤差(SEM)」があります。これらの値を手作業で計算するのは難しく、電卓を使っても手間がかかりますが、Excelならセル範囲を指定するだけで簡単に求められます。 Excelで標準偏差を計算する方法 標準偏差とは、統計学で使われる用語で、データセット内の各数値が平均値からどれだけばらついているかを表す指標です。標準偏差を求めるための数式の構文は以下の通りです。 =STDEV(サンプリング範囲) ここで「サンプリング範囲」は、次のように指

  2. Pythonで正四面体の表面積を計算するプログラム(√3×a²の公式)

    本記事では、正四面体の表面積を求める問題の解き方とそのアプローチについて詳しく解説します。 問題文 正四面体の一辺の長さが与えられたとき、その正四面体の表面積を求める必要があります。 正四面体とは 正四面体(Tetrahedron)とは、三角形を底面としたピラミッドのような形状の立体図形です。4つの三角形の面(側面に3つ、底面に1つ)と、4つの頂点(角)を持つ立体オブジェクトです。 計算式 一辺の長さを a とすると、正四面体の表面積は次の公式で求められます。 表面積 = √3 × a² この公式をもとに、以下のように面積を計算する関数を定義します。 サンプルコード import math