2013-12-19 4 views
0

히스토그램에서 해당 특정 막대 (bin)에 대한 평균 및 표준 편차를 구할 수 있습니까? 그렇다면 사용해야하는 기능 또는 명령은 무엇입니까?히스토그램에서 평균 및 표준 편차를 얻는 것

예를 들어, 내가 (1000,1) 측정 값의 행렬을 가지고 있고이를 히스토그램으로 그룹화하고 싶다고합시다. y 축은 측정 횟수이고 x 축은 측정 값입니다. x 축의 경우 0-9, 10-19, 20-29, 30-39 등의 범위를 갖습니다. 20-29 범위의 표준 편차와 평균을 얻으려면 어떻게해야합니까?

나는 옥타브를 사용하고 있습니다. 감사합니다.

+0

죄송합니다. 언급하지 않았습니다. 옥타브를 사용하고 있습니다. – user3082696

+0

먼저 히스토그램 계산을위한 코드를 보시겠습니까? – Dan

+0

hist (x) 함수를 사용하고 있습니다. – user3082696

답변

4

히스토그램 자체에서 정보를 얻을 수 있을지 의심 스럽지만 원래 데이터에서 가져와야 할 것 같습니다.

data = rand(1000,1)*100; 

당신의 빈에 빠진다 데이터를 추출

data_subset = data(data >= 20 & data < 30); 

그럼 그냥

m = mean(data_subset); 
s = std(data_subset); 

난 당신이 한 번에 수행 된 모든 쓰레기통을 얻고 싶은 생각 평균과 표준을 얻을 그것을 위해 당신은 필요합니다 accumarray :

data = sort(data); 
bin_size = 10; 
subs = ceil(data/bin_size); 
M = accumarray(subs, data', [length(unique(subs)),1], @mean) 
S = accumarray(subs, data', [length(unique(subs)),1], @std) 
+0

제안 해 주셔서 감사합니다. 히스토그램 bin 자체에서 평균 및 표준 편차를 직접 얻는 것이 가능한지 생각하고있었습니다. 분명히 = ( – user3082696

+1

@user3082696 그 정보는 히스토그램에 없습니다.하지만 추가했습니다. 'accumarray'를 사용하여 쉬운 한 번에 그것을 얻는 법에 대한 코드 – Dan

관련 문제