Newton Verfahren < Scheme < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Aufgabe | Das Newton-Verfahren eignet sich zur näherungsweisen Bestimmung einer Nullstelle zu einer gegebenen Funktion f. Die iterative Berechnungsvorschrift lässt sich folgendermaßen formulieren:
[mm]$$x_{n+1} := x_n-\frac{f(x_n)}{f'(x_n)}$$[/mm]
Das Verfahren startet mit einer initialen Schätzung [mm]x_0[/mm] und verbessert diese in den nachfolgenden Schritten. Es bricht ab, sobald die Änderung von [mm]x_n[/mm] zu [mm]x_{n+1}[/mm] kleiner als eine konstante Schranke DELTA ist, und gibt
dann [mm]x_{n+1}[/mm] aus.
Schreiben Sie eine Funktion newton, die die Funktion f, einen Startwert [mm]x_0[/mm] und die Konstante DELTA erhält, und näherungsweise eine Nullstelle der Funktion f mit Hilfe des Newton-Verfahrens bestimmt. Hierbei soll die Ableitungsfunktion [mm]\verb|derive|[/mm] aus der Vorlesung verwendet werden.
Bestimmen Sie mittels der von Ihnen implementierten Funktion newton die Nulltstellen für die quadratischen Polynome [mm]p(x) = x^2-2[/mm] und [mm]p(x) = x^2 + x - 3[/mm]. Geben Sie dabei die Startwerte, DELTA-Werte und die ausgerechneten Nullstellen in tabellarischer Form an. |
Hallo, wir hängen hier gerade an der Funktion derive, die im Skript für uns zu unverständlich dargestellt wurde. Wir haben bisher eine Lösung ohne derive:
(define (newton a b c x0 d)
(begin
(display x0)
(display "
")
(if (>= d (abs (- x0 (- x0 (/ (+ (* a (expt x0 2)) (* b x0) c) (+ (* 2 x0) b)))))) (display ".. ist die Näherung")
(newton a b c (- x0 (/ (+ (* a (expt x0 2)) (* b x0) c) (+ (* 2 x0) b))) d))))
Gibts ne Möglichkeit das derive da einzubauen?
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 16:21 Fr 21.11.2008 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|