hi every body !! my question is how to get the position of the similar elements in same matrix??
1 view (last 30 days)
Show older comments
suppose if i have matrix
M=[0 0 0 0 0;0 0 -1 0 0; 0 0 -1 0 -1;0 0 -1 0 -1; -1 -1 0 -1 -1];
i have to compare each row as in..1st row to 2nd row then 1st row to third row, 1st row to 4th one and 1st to 5th one and then again 2nd row to 3rd ans so on....I m trying to compare first and 2nd row row where
ft=[0 0 0 0 0];
st=[0 0 -1 0 0];
now i want that output should be pos=1,2,4,5. Where 1,2,4,,5 are the position of the similar elemnts in ft and st. I have tried many ways but -1 is the barrier here.
M stuck here plz help me out of this...any kind of help will b appreciated. my email id:- titre.rutika25@gmail.com
1 Comment
Eng. Fredius Magige
on 27 Oct 2015
Edited: Eng. Fredius Magige
on 27 Oct 2015
Hi write down your code, which more preferable than abc....
Accepted Answer
dpb
on 27 Oct 2015
Edited: dpb
on 27 Oct 2015
Basic idea is
>> find(M(1,:)==M(2,:))
ans =
1 2 4 5
>>
Apply above for each row pairwise; note you'll have to save results in a cell array as there won't necessarily be the same length output vector for each row (and could, theoretically, have an empty row as well).
Implementation is a nested loop;
R=size(M,1); % # rows
k=0; % output counter
for i=1:R
for j=i+1:R
k=k+1;
out{k}=find(M(j,:)==M(i,:));
end
end
0 Comments
More Answers (3)
Image Analyst
on 27 Oct 2015
What does similar mean to you? Is 3.0001 similar to 3.0004? Or do you mean equal rather than similar? And, if you mean equal, are you using integers, or floating point numbers with fractional parts? Why? See the FAQ: http://matlab.wikia.com/wiki/FAQ#Why_is_0.3_-_0.2_-_0.1_.28or_similar.29_not_equal_to_zero.3F
And why not just use a for loop:
[rows, columns] = size(M)
for row = 1 : rows
thisRow = M(row, :);
newM = repmat(thisRow, [rows, 1]);
differences = M - newM;
% etc.
end
0 Comments
Rutika Titre
on 29 Oct 2015
1 Comment
Image Analyst
on 29 Oct 2015
VIrtually all the Image Processing articles are logged here: http://www.visionbib.com/bibliography/contents.html There is a search capability at the bottom of the page. Good luck.
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!