FInding duplicates in matrices

1 次查看(过去 30 天)
Dear experts, Given square matrix M, I would like to detect the position of the first duplicate. I have made the code such that it'll be able to do that across the columns, but there is something wrong somewhere in the code that shows even those who aren't duplicates and I am not sure how to fix it. Could you help point that out if possible, please? Thank you!
for ii=1:length(board)
for jj=1:length(board)
if sum((board(:,ii)==board(jj,ii)))>1
fprintf('Duplicate value(%d) found at row: %d, column: %d\n',board(ii,jj),ii,jj)
break
end
end
end
  1 个评论
Luca Cerone
Luca Cerone 2012-6-26
Hi Nur, can you explain what you mean by first duplicate?
In any case when you have to find elements in a Matrix that satisfy certain criterion
often the function "find" does what you need.

请先登录,再进行评论。

回答(1 个)

Honglei Chen
Honglei Chen 2012-6-26
In your program, your element under test is board(jj,ii) while in the result, you are using board(ii,jj),so they are not consistent.On the other hand, your code only looks for duplicates within a column, is this what you want?

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by