How to find repetition of each unique array in matrix?
조회 수: 3 (최근 30일)
이전 댓글 표시
Suppose I have a matrix a:
a = [100680
114678
114678
31678
31678
31678
31678
19505
19505
19505
63694
114354
114354
97157
122910
122910
92417
92417
76298];
I want to find the repetition of each unique array. For example:
100680 1
114678 2
31678 4
19505 3
63694 1
114354 2
97157 1
122910 2
92417 2
76298 1
댓글 수: 0
채택된 답변
Star Strider
2014년 11월 27일
The easiest way is to use the hist function (with help from unique):
xbins = unique(a);
[counts,centres] = hist(a,xbins);
R = [centres counts']
produces:
R =
19505 3
31678 4
63694 1
76298 1
92417 2
97157 1
100680 1
114354 2
114678 2
122910 2
댓글 수: 0
추가 답변 (1개)
Guillaume
2014년 11월 27일
Use one of the histogram functions ( histc or histcounts) with unique to generate the bins. In R2014b, you're supposed to use histcounts as histc is being deprecated.
a = [100680 114678 114678 31678 31678 31678 31678 19505 19505 19505 63694 114354 114354 97157 122910 122910 92417 92417 76298]';
reps = [unique(a) histc(a, unique(a))] %with histc
reps = [unique(a) histcounts(a, [unique(a); Inf])'] %with histcounts
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrices and Arrays에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!