2017-02-20 6 views
1

Ich habe sehr grundlegende Frage. Ich bin neu bei Julia und habe oft in R geschrieben. Ich muss einen Skalar zu den multiplen Kräften nehmen, dargestellt durch einen Vektor: 3^[2,3]. Ich habe eine Fehlermeldung "Method error: no method matching^..." erhalten. Ich habe versucht 3^Array ([2,3]), aber habe den Fehler erneut. Zur gleichen Zeit funktioniert 3 * [2,3] wie erwartet. Gibt es eine Möglichkeit, es in Julia zu tun, ohne for loop zu benutzen?Vektor als Exponent in Julia

+0

Es scheint, dass ich eine Antwort gefunden zu haben: anstelle von 3^[2,3] ich soll [3^(x) für x in 2: 3]. Aber es scheint immer noch seltsam, dass die Exponentierungsoperation nicht auf die gleiche elementare Weise wie die Multiplikation funktioniert. – user0347284

+1

Oder noch besser: 3.^[2,3]. – user0347284

+0

Ich empfehle Ihnen, dies zu lesen: http://docs.julaulang.org/en/latest/manual/noteworthy-differences.html#Noteworthy-differences-from-R-1 vor allem auf die Verwendung von '*'. – Gnimuc

Antwort

8

Ich denke, Sie suchen nach den . oder broadcast Funktionen, mit denen Sie alle anderen Funktionen elementweise anwenden können!

3.^[2,3] oder broadcast(^, 3, [2,3])