[ Javascript ] 平均 分散 標準偏差 円周率 絶対値を求める

Pocket

ここでは、あまり需要がないようにも思われますが Javascript で平均、分散、標準偏差を求めるサンプルスクリプトを掲載しています。

スポンサーリンク

平均、分散、標準偏差を求める
/* 
 * 平均を求める
 */ 
function average(data)
{
    var sum = 0;
    for (i=0; i<data.length; i++) {
      sum = sum + data[i];
    }
    return (sum / data.length);
}

/*
 * 分散を求める
 * 分散 =((データ-平均値)の2乗)の総和 ÷ 個数
 */
function variance(data)
{
    // 平均値を求める
    var ave = average(data);

    var varia = 0;
    for (i=0; i<data.length; i++) {
        varia = varia + Math.pow(data[i] - ave, 2);
    }
    return (varia / data.length);
}

/*
 * 標準偏差を求める
 */
function standard_deviation(data)
{
    // 分散を求める
    var varia = variance(data);

    // 分散の平方根
    return Math.sqrt(varia);
}

data = new Array(-3, 13, 12, -9, 51, -7); 

alert( "平均値 : " + average(data) );            // 9.5
alert( "分散  : " + variance(data) );           // 418.583・・・
alert( "標準偏差: " + standard_deviation(data) ); // 20.4593・・・
絶対値の計算

Javascript で数値の絶対値を求める場合は、Math.abs を使用して求めることができます。

alert( Math.abs('1') );          // 1
alert( Math.abs('7.7e+1') );     // 77
alert( Math.abs('-1') );         // 1
alert( Math.abs(-30.9) );        // 30.9
alert( Math.abs(null) );         // 0
alert( Math.abs("文字列") );     // NaN
alert( Math.abs() );             // NaN

数値形式の文字列であれば、数値に変換し絶対値を求めることができることがわかります。また、null を引数に与えると 0が返り、数値形式ではない文字列を与えた場合や引数を与えなかった場合には NaN が返されています。

円周率を取得する

Javascript では、他の言語と同様に円周率が定義 ( Math.PI ) されています。

alert("円周率は " + Math.PI + " です"); 
alert("半径 3m の円の面積は " + 3 * 3 * Math.PI + " ㎡ です"); 

ブラウザの種類やバージョンによって異なるかどうかはわかりませんが、IE9 や FireFox では、「3.141592653589793」まで表示されました。

 

スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *