1) Erster Fall:
- relative Rundungsfehler, etwa 2^{- 16} für Doppel- und 2^{- 7} für den Schwimmer.
Wir können Gesamtfehler berechnen:
Angenommen, Sie doppelte floating Betrieb verwenden. Somit ist der optimale Wert von h 2sqrt (DBL_EPSILON/f '' (x)). Sie wissen nicht f '' (x). Aber Sie müssen diesen Wert schätzen. Wenn zum Beispiel f '' (x) ungefähr 1 ist, dann ist der optimale Wert h 2^{- 7}, aber wenn f '' (x) ist ungefähr 10^6 dann der optimale Wert von h ist 2^{- 10}!
2) Zweiter Fall:
Hinweis, dass die zweite Näherungsfehler zu 0 tendiert schneller als erstes. Aber wenn f ‚‘ '(x) ist sehr lagre dann die erste Option ist mehr bevorzugt:
Beachten Sie, dass im ersten Fall h e proportional ist, aber im zweiten Fall h ist proportional zu e^{1/3}. Für Double Floating-Operationen ist e^{1/3} 2^{- 5} oder 2^{- 6}. (Ich nehme an, dass f '' '(x) etwa 1 ist).
Welcher Weg ist besser? Es ist unbekannt, wenn Sie nicht wissen, f '' (x) und f '' '(x) oder Sie können diese Werte nicht schätzen. Es wird angenommen, dass die zweite Option vorzuziehen ist. Aber wenn Sie wissen, dass f '' '(x) sehr groß ist, verwenden Sie zuerst.
Was ist der optimale Wert von h? Angenommen, dass f '' (x) und f '' '(x) ungefähr 1 sind. Nehmen wir auch an, dass wir Double-Floating-Operationen verwenden. Dann ist h im ersten Fall ungefähr 2^{- 8}, im ersten Fall ist h ungefähr 2^{- 5}. Korrigiere diese Werte, wenn du f '' (x) oder f '' '(x) kennst.
Zeigen Sie uns, was Sie bisher getan haben. – Lazarus
willst du, dass ich gefeuert werde :)? – vehomzzz
Die Genauigkeit der Newton-Methode hängt (nur) nicht von der Genauigkeit der Ableitung ab, eine grobe Approximation wird auch funktionieren (im Extremfall erhalten Sie die secant-Methode), aber es wird ein wenig langsamer sein, um die gleiche Genauigkeit zu erhalten (Mehr Iterationen benötigt). – fortran