2016-05-04 8 views
0

Ich möchte Zeilen M+1 durch N in einer DenseMatrix (DM_a unten) entfernen, um eine andere DenseMatrix (DM_b) zu produzieren. Etwas wie folgt aus:Der effizienteste Weg, um eine Reihe von Zeilen von einer DenseMatrix zu entfernen?

       K 
DM_a = 0 +-------------------+ 
      |     | 
      |     | 
      |     | 
     M |     | 
      |     | 
      |     | 
      |     | 
     N +-------------------+ 



           K 
DM_b = 0 +-------------------+ 
      |     | 
      |     | 
      |     | 
     M +-------------------+ 

ist es am besten (sehr effizient), dies zu tun mit, wie diese schneiden: val DM_b = DM_a(0 to M, ::) oder sollte ich map padRight zu jeder Spalte von DM_a?

Antwort

1

Matrix Scheibe:

DM_a(0 until M, ::) 
+0

Awesome, thanks! Also, was ist der Unterschied zwischen den "to" und "bis" Versionen der Scheibe? –

+0

bis einschließlich, bis ist exklusiv (beachten Sie, dass die Parameter zu einem Schnitt sind nur scala.Range Objekte) – dlwh

+0

Ah, ich sehe, danke. Also, würde ich nicht '0 zu M 'wollen, da ich die Zeilen entfernen wollte, die mit der Zeile' M + 1' beginnen? Oder alternativ würde ich wohl '0 bis M + 1' brauchen, oder? –

Verwandte Themen