Ich versuche die folgenden Matlab-Definitionen für RelTol- und AbsTol-Parameter zu verstehen:
%Vor%Ich verstehe nicht, warum AbsTol die Genauigkeit bestimmt, wenn die Lösung gegen Null geht (tatsächlich, wenn die Lösung meines Problems eine Kreisbahn von 7000 km Radius ist, erfüllt sie diese nicht) und warum RelTol die Anzahl der korrekten Stellen steuert alle Lösungskomponenten, außer denen, die kleiner als die Schwellenwerte AbsTol (i) sind. Was sind die tatsächlichen Ausdrücke für die Bestimmung jeder Toleranz? Ich möchte einfachere und verständlichere Definitionen bekommen.
Wenn Sie eine Optimierung durchführen, müssen Sie entscheiden, wann Sie aufhören möchten. Eine Möglichkeit zu prüfen, ob Ihre Lösung gut genug ist, ist zu prüfen, ob sich die Lösung noch signifikant ändert. Es gibt zwei Möglichkeiten zu messen, wie stark sich eine Lösung ändert: relative Änderung (d. H.% Änderung) oder absolute Änderung.
Es ist sehr sinnvoll, nach relativen Änderungen zu suchen, da eine Änderung von 5 etwas sehr anderes bedeutet, wenn die Lösung etwa 1 ist, als wenn sie etwa 100000 ist. Daher prüft die Optimierungsroutine bei jeder Iteration i
ob abs(1-x(i)/x(i-1))<relTol
, dh um welchen Anteil hat sich die neue Lösung seit der letzten Iteration geändert? Beachten Sie, dass x
ein Array von Lösungen sein kann, wenn Sie mehrere Parameter gleichzeitig optimieren (die Lösung hat also "mehrere Komponenten"). Natürlich möchten Sie, dass die Bedingung für alle "Lösungskomponenten" erfüllt wird, bevor Sie mit der weiteren Optimierung aufhören.
Die relative Toleranz wird jedoch problematisch, wenn die Lösung ungefähr Null ist, da x/0
nicht definiert ist. Daher ist es sinnvoll, auch die absolute Wertänderung zu betrachten und die Optimierung zu beenden, wenn abs(x(i)-x(i-1))<absTol
. Wenn Sie absTol
klein genug wählen, zählt nur relTol
für große Lösungen, während absTol
nur dann relevant wird, wenn die Lösung um 0 herum liegt.
Da der Solver aufhört, wenn eines der beiden Kriterien erfüllt ist, wird die Annäherung an eine (lokal) optimale Lösung durch absTol
oder relTol
bestimmt. Zum Beispiel, wenn relTol
10% ist, werden Sie nie viel näher als 10% zur optimalen Lösung kommen, es sei denn, Ihre Lösung ist ungefähr Null, in welchem Fall das absTol
-Kriterium (von zB 0.0001) vorher erfüllt ist das Kriterium relTol
.
Tags und Links matlab integration parameters document definitions