Find similar elements in a matrix

5 次查看(过去 30 天)
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 个评论
Grzegorz Knor
Grzegorz Knor 2011-9-5
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 2011-9-5
you are right
3,4,5,11, 13 and 24

请先登录,再进行评论。

采纳的回答

Grzegorz Knor
Grzegorz Knor 2011-9-5
[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 个评论
Grzegorz Knor
Grzegorz Knor 2011-9-5
If you think that this answer solved your problem, please accept it :)
Niki
Niki 2011-9-5
Grzegorz, It works , thanks , also could you please take a look at one another question that I have?

请先登录,再进行评论。

更多回答(2 个)

Daniel Shub
Daniel Shub 2011-9-5
Maybe something like:
[y, z] = hist(X(:), unique(X));
stem(z, y);

Grzegorz Knor
Grzegorz Knor 2011-9-5
My suggestion:
[u, ~, n] = unique(X);
[h1 h2] =hist(n,unique(n));
u(h2(h1==max(h1)))
  3 个评论
Grzegorz Knor
Grzegorz Knor 2011-9-5
There is 45 zeros:
sum(X(:)==0)
Is this OK?
Niki
Niki 2011-9-5
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

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by