Seite 1 von 1

[numpy] Eigene Funktion auf alle Einträge anwenden

Verfasst: Samstag 16. Juni 2007, 12:07
von sonium
Mein Programm berechnet das Potential von Punktladungen. Dazu wird eine Funktion auf alles Einträge angewendet.

Die Funktion sieht ungefähr so aus:

Code: Alles auswählen

def pot((x,y), ladung):
   #tu was...
   return potenzial #in (x,y)
das ganze in zwei Schleifen gepackt damit es für jedes (x,y) also jeden zeilen und spaltenwert der matrix ausgeführt wird.

Das ganze finde ich sehr ineffizient. Gibt es denn keine Möglichkeit die Funktion als ganzes an numpy zu übergeben und das irgendwie effizienter zu gestalten?
Das Problem würde sich außerdem auch super zur Parallelisierung anbieten, da die Werte voneinander absolut unabhängig sind.[/code]

Verfasst: Dienstag 19. Juni 2007, 11:56
von CM
Hoi,

ich habe Deine Frage nicht 100%ig verstanden. Meinst Du vielleicht so etwas:

Code: Alles auswählen

from numpy import fromfunction
def foo(x, y):
     return x**y

fromfunction(foo, (3,3))
Gruß,
Christian