[B] Das Newton-Verfahren in Perl
Hey,
Ich musste im Zuge eines anderen Skriptes das Newton-Verfahren Anwenden, um die Nullstellen einer Funktion zu errechnen.
Hab das ganze jetzt mal in ein eigenständiges Skript gepackt.
Das Newton-Verfahren nimmt man (glaube Ich), in der 11. Klasse durch.
Der erste Sprung über die X-Achse wird automatisch berechnet, um die benötigten Schritte stark einzuschränken!
Auch wenn ihr das Skript an sich nicht braucht freue ich mich über jede Kritik.
Usage:
Das erste Argument gibt die Anzahl an Schritten an. 0 ist default.
Wenn ihr 0 angebt, dann stoppt das Skript automatisch wenn die Nullstelle gefunden wurde! Deshalb ist 0 absolut zu empfehlen.
Die Funktion und die Ableitung sind fest im Code verankert, können aber in den 2 Subs beliebig verändert werden. Achtet darauf dass " ** " einem " ^ " entspricht ;)
Im Skript ist
Code:
return $x**3+2*$x-1;
also So, hier das Skript. Viel Spaß!
Beispiel-Output:
Ich muss wohl noch eine Funktion zum Runden einbauen, aber nur wenn jemand Verwendung für das Skript hat.
Changelog:
19.3.2010:
- Added 0 as Maximum to activate automatic stopping, when the point has been found. You can now use 'perl math.pl 0'.