How to separate the elements if any two elements of a row in a matrix is same in other rows of the matrix?
1 次查看(过去 30 天)
显示 更早的评论
A=[1 2 5;
2 3 5;
3 4 5;
1 5 6;
1 2 3]
Suppose I have the above A matrix. Now I will compare the elements of row one with all other rows of the matrix and if any two elements of other rows become same with the first row then i want to separate them. Similarly, I need to check for rest of the rows.
Like, here 2 5 of first row is also in 2nd row, 1 5 is in 4th row and 1 2 is in fifth row. SO i will store them in a matrix B=[2 5;1 5;1 2]. Similarly foe 2nd row, 3 5 is in third row,2 3 is in 5th row; so B matrix will be updated as B=[2 5;1 5;1 2;3 5;2 3]
采纳的回答
Birdman
2018-1-19
编辑:Birdman
2018-1-19
You may also use intersect and setdiff. For instance, here is an approach for the situation:
for i=1:size(A,1)
temp=setdiff(1:size(A,1),i);
for j=1:numel(temp)
B{i,j}=intersect(A(i,:),A(temp(j),:));
end
end
This compares the ith row of A matrix with the remaining ones and stores the different values in a cell array.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!