Wie kombiniere ich zwei Vektoren Vektoren elementweise in clojure?

8

Angenommen, ich habe:

%Vor%

und

%Vor%

und ich hätte gerne:

%Vor%

Was ist der elegante Weg, dies in clojure zu tun?

    
John Lawrence Aspden 06.02.2013, 19:41
quelle

4 Antworten

7
%Vor%     
Alex Stoddard 06.02.2013, 21:25
quelle
4

Ziehen Sie die core.matrix für solche Sachen in Betracht.

Es wird ziemlich glücklich verschachtelte Vektoren als Matrizen manipulieren, aber macht auch viel mächtigeres Zeug, wenn Sie es brauchen (zum Beispiel Unterstützung für beschleunigte native Matrixbibliotheken über JBLAS). Es ist die definitive Bibliothek / API für Matrix-Berechnungen in Clojure.

In diesem Fall können Sie einfach "emap" verwenden, um eine Funktion elementweise auf zwei Matrizen anzuwenden:

%Vor%     
mikera 07.02.2013 01:03
quelle
3

partition und interleave bringen Sie dorthin, wie folgt:

%Vor%

Wenn Sie aus irgendeinem Grund die Antwort in geschachtelte Vektoren konvertieren müssen, sollten Sie sich die diese Frage .

    
JohnJ 06.02.2013 20:27
quelle
2

Hier ist eine andere Implementierung:

%Vor%

Ersetzen Sie map durch mapv , um Vektoren statt Lazy Seqs daraus zu erhalten.

    
Alex 06.02.2013 20:58
quelle

Tags und Links