Dies ist ein sehr grundlegendes Problem, aber ich habe keine Hinweise darauf gefunden. Lassen Sie uns sagen, dass ich eine 2x4-Matrix haben und ich möchte die Dimension der Matrix nur auf diese Spalten zu reduzieren, die größer als 1 ist in der Summe sind:Auswählen von Spalten/Zeilen einer Matrix in Julia
A=rand(2,4)
ind = sum(A,1).>1
dass mich ein Indikator für die Spalten gibt, gebe ich behalten möchte. Naiv würde man annehmen, dass ich das tun kann:
A[:,ind]
, die nicht als ind funktioniert ist ein BitArray und nur für Bool Arrays dies erlaubt ist, das heißt, die folgenden Werke
A[:,[true,true,false,true]]
im Gegenzug funktioniert das Folgende:
A[A.>0.5]
Aber es gibt einen Vektor der gefilterten Elemente zurück. Was ist die Logik dahinter und wie löse ich mein Problem?
Ich fand heraus, dass ich die richtige Matrix mit 'A [:, finde (ind)]' , aber es ist mir unklar, warum es so gemacht werden muss. – Sibylse
Ich nehme an, Sie verwenden Julia 0.3? Dies funktioniert in Julia 0.4.5 (letzter Stall). –
Wahr. Okay, das ist "behoben" .. danke! – Sibylse