0
我正在嘗試計算一組值的累積分佈函數。GSL直方圖問題
我使用gsl計算了直方圖,我嘗試從這裏計算CDF,但似乎這些值被移位了一個位置。
這是我使用的代碼:
gHist = gsl_histogram_alloc((maxRange - minRange)/5);
gsl_histogram_set_ranges_uniform(gHist, minRange, maxRange);
for (int j = 0; j < ValidDataCount; j++)
gsl_histogram_increment (gHist, ValAdd[j]);
gsl_histogram_pdf * p = gsl_histogram_pdf_alloc(gsl_histogram_bins(gHist));
gsl_histogram_pdf_init (p, gHist);
for (int j = 0; j < gsl_histogram_bins(gHist) + 1 ; j++)
printf ("%f ", p->sum[j]);
直方圖是這樣的: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 ....繼續喜歡這個。總共有20個值
和CDF是: 0.00 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.1 0.1 ...
爲什麼會出現在第一0位置?它不應該以0.05開頭嗎?
謝謝。
答案出來得比較晚:希望它仍然是有用。 –