2016-10-29 2 views
1

Matlab에서는 이제 hist 대신 막대 그래프를 사용하는 것이 좋지만 이전 함수와 같은 빈 중심을 찾는 확실한 방법은 표시되지 않습니다. HIST 기능이 제대로 작동권장 히스토그램 함수의 빈 중심 - Matlab

내 현재 코드 :

[counts171, position171 = HIST (image171_reshaped, 200);

플롯 (위치 171, 로그 (카운트 171));

bin 센터를 계속 얻는 동안 'hist'대신 'histogram'또는 'histcounts'와 같은 권장 기능을 통합하려면이 코드를 어떻게 변환 할 수 있습니까?

답변

2

histcounts 빈 센터 대신 가장자리를 반환하고 빈 중심은 가장자리의 연속 요소 사이의 중간 점입니다. 따라서 diff 함수 빈 센터를 사용하면 다음을 얻을 수 있습니다.

[counts171,edges171] = histcounts(image171_reshaped,200); 

position171 = edges171(1:end-1) + diff(edges171)/2; 
+0

감사합니다. 완벽하게 작동합니다. 전에 비슷한 것을 시도했지만 결과 벡터를 같은 길이로 만들 수는 없었습니다. 두 번째 줄의 첫 번째 부분 'edge171 (1 : end-1)'이 제발 무엇을 설명해 주시겠습니까? 물론 – Tarius

+0

. 가장자리가 다음과 같다고 가정하십시오. edges = [1 3 6 11] bin 중심점은 [1 3]과 [3 6] 및 [6 11] 사이에 있으므로 가장자리 수가 4이면 bin 수는 3입니다. 연속하는 요소들 사이의 차이로 더하기 위해 처음 3 개의 엣지 (diff). 'end'는 벡터의 끝 요소를 의미하고 end-1은 끝 요소 앞에 하나를 의미합니다. 1 : end-1은 끝 요소를 제외한 벡터의 모든 요소를 ​​의미합니다 – rahnema1