Effacer les filtres
Effacer les filtres

Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

How can i get the output?

1 vue (au cours des 30 derniers jours)
VIJAY
VIJAY le 14 Sep 2017
Clôturé : MATLAB Answer Bot le 20 Août 2021
i have the matrix
A=[1 2 4;
1 2 3;
4 5 6;
7 8 9;
4 5 8;
9 1 3];
i hope to compare first two column only comparison in the matrix so i need the output as
A=[7 8 9;
9 1 1]
  1 commentaire
KSSV
KSSV le 14 Sep 2017
How this output comes?

Réponses (1)

Rik
Rik le 14 Sep 2017
I'm going out on a limb here: I will assume your question is how to remove all rows where the first two values are non-unique. This rephrasing immediately points to the solution: use the unique function with the 'row' switch and the additional output (the position). Then we count occurrences with hist and remove all rows with an occurrence not equal to 1.
A=[1 2 4;
1 2 3;
4 5 6;
4 5 8;
9 1 3;
7 8 9];
[~,indexInMatrix,positionOfRowInUniqueVector]=unique(A(:,1:2),'rows','stable');
[numOfOccurrences,~]=hist(positionOfRowInUniqueVector,unique(positionOfRowInUniqueVector,'stable'));
rowIndex=indexInMatrix(numOfOccurrences==1);
A=A(rowIndex,:);

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by