2013-03-06 2 views
1

gsl_histogram의 bin은 정확히 두 bin 사이의 가장자리에있는 값입니까?
예. 내가 gsl_histogram_increment(h, x)이라고 부를 때 x가 정확히 0이고 bin 가장자리가 -0.2, 0, 0.2, 0.4 등일 때 양수 범위 (0, 0.2) 또는 음수 범위 (-0.2, 0)가 증가 할 것인가?gsl_histogram : bin이 값을 할당 할 두 bin 사이의 가장자리와 같은 값입니까?

편집 : 예 내 범위는 일정합니다.

+0

'0.2'는 정확하게 표현할 수 없습니다. – PlasmaHH

답변

2

하여 빈 분포가 선형 (검색 예에서와 같이) 인 다음이 실행되는 코드 (GSL-1.15/히스토그램/find.c 찍은) 인 경우

/* optimize for linear case */ 

#ifdef LINEAR_OPT 
    { 
    double u = (x - range[0])/(range[n] - range[0]); 
    i_linear = (size_t) (u * n); 
    } 

    if (x >= range[i_linear] && x < range[i_linear + 1]) 
    { 
     *i = i_linear; 
     return 0; 
    } 
#endif 

메모가> =

/* perform binary search */ 

    upper = n ; 
    lower = 0 ; 

    while (upper - lower > 1) 
    { 
     mid = (upper + lower)/2 ; 

     if (x >= range[mid]) 
     { 
      lower = mid ; 
     } 
     else 
     { 
      upper = mid ; 
     } 
    } 

    *i = lower ; 
,536 : 이진 검색이 수행 비선형 빈 분포 0.2 빈

즉 - 하부 빈 에지 따라서 사용자의 0.0의 값이 0.0에 드롭한다 상부 빈 모서리 용 < 대

참고 :> =의 사용은 빈 가장자리에있는 값이 두 개의 '위쪽'빈에 포함된다는 것을 의미합니다 (선형 경우와 동일).

아마 예제를 실행하고 무엇을 빈 값이 빈 (L, U) 가치 x을 배치할지 여부를 결정하는

+0

+1 Google 검색보다 더 권위있는 실제 소스를 찾는 경우 : – gcbenison

1

gsl_histogram_incrementappears to use 조건 L <= x < U에 추가됩니다. 따라서 0(0, 0.2)으로 끝납니다.

+0

+1 확인 – damage