Find similar elements in a matrix

1 view (last 30 days)
My question is that , I have a matrix, I want to know which element from which columns are similar, which number is the most repeated number for example
X=[1 2 3 3 3
45 7 4 4 4
70 8 5 5 5
88 9 11 11 11
170 205 13 13 13
172 220 14 23 24
194 222 24 24 41
196 224 41 152 67
200 539 62 183 68
250 540 67 184 71
251 1415 68 185 148
255 1426 71 187 151
]
for example here 3 (repeated in columns 3,4 and5) the same for 4, 5, 1, 13
and the most repeated numbers are 3,4,5,11, and 13
  2 Comments
Grzegorz Knor
Grzegorz Knor on 5 Sep 2011
I've question:
most repeated numbers are 3,4,5,11, and 13
or rather
most repeated numbers are 3,4,5,11, 13 and 24?
Niki
Niki on 5 Sep 2011
you are right
3,4,5,11, 13 and 24

Sign in to comment.

Accepted Answer

Grzegorz Knor
Grzegorz Knor on 5 Sep 2011
[h1 h2] =hist(X(:),unique(X));
h3 = unique(h1);
h3 = h3(end:-1:1);
for k=1:length(h3)
disp(['There is ' num2str(h3(k)) ': [ ' num2str(h2(h1==h3(k))') ' ]'])
end
  2 Comments
Grzegorz Knor
Grzegorz Knor on 5 Sep 2011
If you think that this answer solved your problem, please accept it :)
Niki
Niki on 5 Sep 2011
Grzegorz, It works , thanks , also could you please take a look at one another question that I have?

Sign in to comment.

More Answers (2)

Daniel Shub
Daniel Shub on 5 Sep 2011
Maybe something like:
[y, z] = hist(X(:), unique(X));
stem(z, y);
  1 Comment
Niki
Niki on 5 Sep 2011
Thanks Daniel, your comments always make a brilliant way,

Sign in to comment.


Grzegorz Knor
Grzegorz Knor on 5 Sep 2011
My suggestion:
[u, ~, n] = unique(X);
[h1 h2] =hist(n,unique(n));
u(h2(h1==max(h1)))
  3 Comments
Grzegorz Knor
Grzegorz Knor on 5 Sep 2011
There is 45 zeros:
sum(X(:)==0)
Is this OK?
Niki
Niki on 5 Sep 2011
Yes, exactly
It is okay, but I would like to see the others as well, for example 45 times zero, then 3,4,5,11, 13 and 24

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!