Effacer les filtres
Effacer les filtres

remove rows under certain condition

1 vue (au cours des 30 derniers jours)
booterr
booterr le 14 Avr 2016
Modifié(e) : booterr le 14 Avr 2016
Can you help?
Can you help?
On below matrix, for same X and Y, pick smallest Z, then put into a new matrix.
X Y Z 60,-40,1.1 55,-40,3.1 55,-45,4.5 60,-45,5.3 60,-40,7 55,-40,8.4 55,-45,9.8 60,-40,11.2 60,-45,12.6 55,-40,14 55,-45,15.4 60,-45,16.8 60,-40,18.2 60,-45,19.6 55,-40,21 60,-40,22.4 55,-45,23.8 60,-45,25.2 55,-40,26.6 55,-45,28

Réponse acceptée

Jos (10584)
Jos (10584) le 14 Avr 2016
Assuming your X, Y, and Z variables are stored in three vectors of equal length
[UniqueXY, ~, k] = unique([X(:) Y(:)],'rows') ;
MinZ = accumarray(k, Z(:), [], @min)
  1 commentaire
booterr
booterr le 14 Avr 2016
Modifié(e) : booterr le 14 Avr 2016
Can you put the same X and Y with corresponding min Z into new matrix by removing the rows?
and also give the row number for which row is kept.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by