2016-01-23 70 views
0

我想製作我的數據的直方圖,所以我使用直方圖類c#使用MathNet.Numerics.Statistics直方圖中最大的bin數,C#,sharp

double[] array = { 2, 2, 5,56,78,97,3,3,5,23,34,67,12,45,65 }; 
Vector<double> data = Vector<double>.Build.DenseOfArray(array); 
int binAmount = 3; 
Histogram _currentHistogram = new Histogram(data, binAmount); 

如何獲得最大垃圾箱的數量?或者只是bigest bin的索引?我試圖通過使用GetBucketOf來獲得它,但要做到這一點,我需要在這個桶中的元素:( 有沒有其他的方式來做到這一點?我閱讀文檔和谷歌,我找不到任何東西

回答

0

(嗨,我會用這個評論,但我今天剛剛加入,目前還沒有50個評論!)我只是看看 - http://numerics.mathdotnet.com/api/MathNet.Numerics.Statistics/Histogram.htm。該文檔頁面(頁腳說它是使用http://docu.jagregory.com/構建的)顯示名爲Item的公共屬性返回一個Bucket。我想知道如果這是你需要使用的屬性,因爲自動生成的文檔指出Item屬性「獲取第n個桶」,但不清楚Item屬性作爲一個索引器,看看你的代碼,我會首先嚐試_currentHistogram.Item [n](如果不行的話,試試看_currentHistogram [n]),其中y OU是使用類似迭代剷鬥在直方圖 -

var countOfBiggest = -1; 
var indexOfBiggest = -1; 
for (var n = 0; n < _currentHistogram.BucketCount; n++) 
{ 
    if (_currentHistogram.Item[n].Count > countOfBiggest) 
    { 
     countOfBiggest = _currentHistogram.Item[n].Count; 
     indexOfBiggest = n; 
    } 
} 

上述代碼假定直方圖使用0爲基礎的,而不是基於1的索引。