WikiDer > Halbierungsmethode
Das Halbierungsmethode oder Bisektionsmethode ist ein Algorithmus zum Lösen von Gleichungen. Das Prinzip ist sehr einfach und die Methode einfach am Computer zu implementieren. Die Methode ähnelt der binären Suche innerhalb einer geordneten Datenzeile.
Beschreibung der Methode
Zuerst wird ein Intervall bestimmt, in dem eine Lösung der Gleichung liegt, nenne es das ist schritt 1.
Schritt 2 beinhaltet die Bestimmung, ob sich die Lösung links oder rechts von der Mitte des Intervalls befindet. In der Gleichung reduziert auf 0 kommt das auf die entscheidung an
Suchen Sie dann weiter in dem Teilintervall, in dem die Lösung liegt. Mit jeder Iteration wird die Länge des Intervalls, in dem die Suche fortgesetzt wird, um die Hälfte reduziert. Die Konvergenz des Verfahrens ist daher garantiert. Ein wichtiger Nachteil besteht darin, dass diese Konvergenz ebenfalls langsam ist.
Beispiel
Rooten ist keine elementare Operation wie Addition oder Multiplikation. In der Praxis sollten Wurzeln immer mit a . angefahren werden iterativ Algorithmus oder a Serie. Ein Beispiel zeigt die Näherung von mit der Halbierungsmethode. Es gibt effizientere Methoden als die Bisektion, um sich Wurzeln zu nähern.
Berechnung der Kubikwurzel wird übersetzt in das Lösen der Gleichung
- .
Es ist klar, dass , also ist eine erste Näherung
- .
Schon seit , Lügen also in der linken hälfte: . Der Vorgang wird nun wiederholt und in zweiter Näherung erhält man
- .
Jetzt ist , also lügt in der rechten Hälfte: . So läuft es:
- .
Dann stellt sich heraus: . So wird
- .
Denn für den gesuchten Wert gilt das , wird immer sein in der linken Hälfte der kommenden Intervalle sind:
Jetzt gehen sie unter , die durch Berechnung der dritten Potenz bestimmt werden kann, also
- .
Nun ist der Ansatz wieder oben:
- .
Und so weiter, bis die gewünschte Genauigkeit erreicht ist.
Anwendbarkeit
Diese Methode macht wirklich nur Sinn, wenn die Newtons Methode oder regula falsch kann nicht verwendet werden, wenn zum Beispiel viele Lösungen nahe beieinander liegen, was diese Methoden stören kann, oder wenn die Startwerte zu weit von der Lösung entfernt sind. Wenn die gewünschte Genauigkeit nicht zu groß ist, kann die Bisektionsmethode auch schneller sein, da weniger Berechnungen pro Schritt erforderlich sind.
Aus dem obigen Beispiel lernen wir, dass wir die Methode zum Lösen einer Gleichung der Form . anwenden können , wenn wir ein Intervall haben in der die/eine Lösung liegt und alle Funktionswerte links von der Lösung kleiner oder größer sind als alle Funktionswerte rechts von der Lösung. wenn kontinuierlich Ist eingeschaltet und und (oder umgekehrt) nach Zwischenwertsatz garantiert mindestens einen Nullpunkt.
Der Algorithmus im Pseudocode
Stellen Sie zuerst die zu erreichende Genauigkeit ein Fest.
Reduziere die zu lösende Gleichung auf , und finde ein Intervall so dass und haben gegensätzliche Vorzeichen.
Wiederholen Sie dann die folgenden Schritte:
- Berechnen Sie den Funktionswert mitten drin des Intervalls
- Vergleichen Sie diesen Wert mit den Funktionswerten in den Endpunkten des Intervalls
- Ersetzen Sie den Endpunkt, an dem die Funktion das gleiche Vorzeichen hat wie durch
Fahren Sie damit fort, bis die gewünschte Genauigkeit erreicht ist, d. h. bis die Länge des resultierenden Intervalls kleiner ist als .
Eine mögliche Implementierung in Pseudocode sieht dann so aus:
const d = .... var a, b, m; a, bA, B; SOLANGE (b - a) > d m ← (a b) / 2 WENN f(m)*f(a) < 0 DANN b ← m SONST a ← m REPEAT-Schätzung ← (a b) / 2