2017-04-25 17 views
1

数値セットでいくつかの統計計算を実行する必要があります。計算に必要なものの1つが中央値絶対偏差です。私は、ISO規格に供給して、すべてのそれは私が私が私が任意の統計数学の訓練を持っていないように、その情報をどうするか見当がつかないCでの中央値の絶対偏差の計算

enter image description here

で伝えます。したがって、私は上記をC#関数に変換することはできません。

+0

それ以外の点で有用なMath.NetライブラリにはMAD関数が含まれていないことを付け加えておきます。 –

+0

whats med(x)?中央値? – WhileTrueSleep

+0

数学にはこれがありません。このために独自のメソッドを作成する必要があります。あなたは明確な義務を持っている必要があります。それらから、その下り坂の旅に。 –

答えて

3

中央値は、middl E要素がアレイ(又はTWの平均値をソートさなさd[]アレイ
4. 3.検索メジアンO真ん中の項目の配列にもアイテムを持っている場合):中央値を計算する関数を、プログラムする方法

double[] source = new double[] { 1, 2, 3, 4, 5 }; 

    Array.Sort(source); 

    double med = source.Length % 2 == 0 
    ? (source[source.Length/2 - 1] + source[source.Length/2])/2.0 
    : source[source.Length/2]; 

    double[] d = source 
    .Select(x => Math.Abs(x - med)) 
    .OrderBy(x => x) 
    .ToArray(); 

    double MADe = 1.483 * (d.Length % 2 == 0 
    ? (d[d.Length/2 - 1] + d[d.Length/2])/2.0 
    : d[d.Length/2]); 
+2

私はあなたのひげが好きなので、私はあなたを信頼するつもりです。ありがとうございました。 –

+1

@Captain Kenpachi:信頼するのではなく、むしろいくつかのテストを実行したいと思う;) –

+1

もちろん。私は比較可能な結果を​​持っています。 –

0

簡単な手順行います
1.中央
との差の絶対値の中央値medx[]の配列(あなただけの配列をソートし、中間値を得るが、より効果的な方法があることができます)
2.ビルドの配列d[]を探しますCalcは

0

、あなたはhere

を見つけるでしょう、あなたの関数は、この

var arrOfValues = new int[] { 1, 3, 5, 7, 9 }; 

var di = new List<int>(); //List where all di will be stored 
var median = calcMedian(); //See the link how to write it 
foreach(var elem in arrOfValues) 
{ 
    di.Add(Math.Abs(elem - median)); 
} 
のように見えることができます
関連する問題