Count the frequent numbers in the matrix based on the sequence in the matrix ?

1 view (last 30 days)
I like to count the frequent numbers in the matrix based on the sequence in the matrix /// EX: Y = [ 5 4 4 2 ; 6 3 3 1 ;2 4 2 2; 5 5 6 1] The answer suppose to be like: 5 3, 4 3, 2 4 , 6 2, 3 2, 1 2 /// That mean the 5 repeated 2 times, the 4 repeated three times and so on .. /// The an important point is the number based on the sequence in the matrix which 5,4,2,6,3,1 /// not Descending or Ascending /// thanks

Accepted Answer

the cyclist
the cyclist on 22 Mar 2017
Here's one way:
Y = [ 5 4 4 2 ; 6 3 3 1 ;2 4 2 2; 5 5 6 1];
YT = Y';
[uniqueY, ~, j] = unique(YT(:),'stable');
ycounts = histcounts(j,[unique(j); Inf]);
output = [uniqueY,ycounts']
  5 Comments
fathi
fathi on 15 Apr 2017
Thank you, my friend, for your reply.It works. that is what I want exactly.
fathi
fathi on 30 Apr 2017
good morning .. if I have 40 figures from the up ( last answer one ) from different 40 matrixes with 4*4 dim //// how can I represent them by one figure? I mean one generalized graph?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!