[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.
sonium
User
Beiträge: 66
Registriert: Mittwoch 27. Oktober 2004, 21:04

[numpy] Eigene Funktion auf alle Einträge anwenden

Beitragvon sonium » 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]
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Beitragvon CM » 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

Wer ist online?

Mitglieder in diesem Forum: Baidu [Spider]