MATLAB Answers

How can return the maximum appearance number in the square matrix?

10 views (last 30 days)
Salem
Salem on 26 Feb 2015
Commented: Salem on 28 Feb 2015
How can I find the most repeated number in nxn matrice? For example, if I have 3x3 matrix like this [1 2 3; 6 6 4; 4 7 6] In this case the most repeated number is 6. But if two or more numbers have repeated same time I want to retrieve the biggest one like next example [2 5 2; 7 8 4; 5 -1 0] In this case I want the function return the 5 because it is greater than 2 which both have the same number of appearances in the matrix. I appreciate your help in advance

  2 Comments

Sad Grad Student
Sad Grad Student on 26 Feb 2015
It's easy.. I have a feeling you're trying to get us to do your assignment... ;)
Hint: Lookup:
You're welcome! :)
Salem
Salem on 27 Feb 2015
Thanks for reply I am doing research so I do not have any homework, but I am new in Coding and Matlab.

Sign in to comment.

Accepted Answer

per isakson
per isakson on 27 Feb 2015
Edited: per isakson on 27 Feb 2015
"most repeated number in nxn matrice"
M = [1 2 3; 6 6 4; 4 7 6];
binranges = [min(M(:)):max(M(:))];
[num,ix] = max( histc( M(:), binranges ) )
val = binranges(ix)
the value, val, is repeated num times.
&nbsp
"retrieve the biggest one" the above code will retrieve the smallest
M = [1 2 3; 6 6 4; 4 7 6];
binranges = [min(M(:)):max(M(:))];
bincounts = histc( M(:), binranges );
[num,ix] = max( fliplr( bincounts ) );
val = binranges(ix)
I've not tested this

More Answers (0)