Danke fuer Deine Muehe!
Wegen der Funktionen x, V und k: Naja.. in der physikalischen Problemstellung ist V(x) das Potential. Wenn die Funktion getrennt definiert ist, ist das Skript schneller an ein anderes Problem anzupassen. Genauso ist `k` ein feststehender Ausdruck der "Numerov"-Iteration für die Schrödingergleichung. Bringt Deine Aufteilung einen Geschwindigkeitsvorteil? Wenn nicht, dann nimm es mir nicht übel, wenn ich es so stehen lasse. Trotzdem nochmal danke
Es wird keine Kopie gemacht. Es werden *immer* Referenzen auf Objekte übergeben.
Ah, gut zu wissen. Liegt wohl in der Philisophie von Python, ja?
Edit: Aber was ist denn nun, wenn ich eine Variable an eine Funktion übergebe (welches ja, wie ich nun weiß, per Referenz geschieht) und diese dann in der neuen Funktion ändere? Dann sollte ja in der übergebenden Funktion diese Variable nicht mitgeändert werden. Wird in dem Moment dann doch eine Kopie (die dann ja keine echte Kopie mehr ist) angelegt?
Dann habe ich die GUI "ausgebaut" und zwei Testläufe gemacht. Ohne Psyco: 1 Minute und 6 Sekunden, mit Psyco nur 15 Sekunden Laufzeit.
Ich möchte ja eine graphische Ausgabe haben. Auch während der Iteration. Ist einfach anschaulich
Aber Du hast völlig recht. Die GUI bremst das Skript sehr aus. Ohne einen Punkt zu zeichnen (durch Auskommentieren von `window.Point`) braucht die Iteration bei mir 73s (also Deine Größenordnung ohne Psyco). Wenn ich jeden 2000. Punkt zeichne reicht das für die Anschauung noch aus und die Zeit geht hoch auf 87s. Ich denke, dass das für mich ein Kompromiss ist.
Dieses Psyco schau ich mir bei Gelegenheit gerne mal an. Hört sich ja magisch an. Hab eben mal bisschen gelesen. 10x - 100x Speedup bei rechenintesiven Algorithmen versprechen die, ja? Wow. Problem: Dieses Skript muss auf dem Uni-System laufen. Die haben, denke ich, nur Standardbibliothek. Dann kann ich es gleich vergessen oder?