[numpy] Eigene Funktion auf alle Einträge anwenden

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
sonium
User
Beiträge: 66
Registriert: Mittwoch 27. Oktober 2004, 21:04

Samstag 16. Juni 2007, 12:07

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]
- http://bash.org/?400459
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Dienstag 19. Juni 2007, 11:56

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
Antworten