Funktion n Elemente gleichzeitig entlang der Achse anwenden

8

Ich suche nach einer Möglichkeit, eine Funktion n Elemente zu der Zeit entlang einer Achse anzuwenden. ZB

%Vor%

Wenn ich sum auf die Elemente der Zeile 2 gleichzeitig anwende, bekomme ich:

%Vor%

Was ist sum der ersten 2 Zeilen und der letzten 2 Zeilen.

NB: Ich habe es mit viel größeren Array zu tun, und ich muss die Funktion auf n Elemente anwenden, die ich zur Laufzeit entscheiden kann.

Die Daten erstrecken sich entlang verschiedener Achsen. ZB

%Vor%     
Suminda Sirinath S. Dharmasena 14.12.2016, 15:45
quelle

3 Antworten

3

Dies ist eine Reduzierung:

%Vor%

Solange Sie mit "größer" länger auf der "y" Achse meinen, können Sie verlängern:

%Vor%

EDIT: Das funktioniert eigentlich auch für "größer in beiden Dimensionen":

%Vor%

Ich überlasse es Ihnen, die Indizes an Ihren speziellen Fall anzupassen.

    
Benjamin 14.12.2016, 16:25
quelle
2

Umformen Sie die erste Achse in zwei Achsen, so dass die zweite geteilte Achse die Länge n hat, um ein 3D-Array zu erhalten, und summieren Sie dann entlang dieser geteilten Achse wie folgt -

%Vor%

Es sollte ziemlich effizient sein, da das Umformen nur eine Ansicht in das Eingabe-Array erzeugt.

Beispiellauf -

%Vor%     
Divakar 14.12.2016 16:50
quelle
1

Wie wäre es mit so etwas?

%Vor%     
Psidom 14.12.2016 15:58
quelle