hi every body !! my question is how to get the position of the similar elements in same matrix??
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
Eng. Fredius Magige
2015-10-27
编辑:Eng. Fredius Magige
2015-10-27
Hi write down your code, which more preferable than abc....
采纳的回答
dpb
2015-10-27
编辑:dpb
2015-10-27
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 个评论
更多回答(3 个)
Image Analyst
2015-10-27
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 个评论
Rutika Titre
2015-10-29
1 个评论
Image Analyst
2015-10-29
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!