remove rows under certain condition

3 Ansichten (letzte 30 Tage)
booterr
booterr am 14 Apr. 2016
Bearbeitet: booterr am 14 Apr. 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

Akzeptierte Antwort

Jos (10584)
Jos (10584) am 14 Apr. 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 Kommentar
booterr
booterr am 14 Apr. 2016
Bearbeitet: booterr am 14 Apr. 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Mathematics finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by