Nichtlineare Gleichungssysteme
Nichtlineare und auch lineare Gleichungen und Gleichungssysteme werden mit Hilfe des Newton-Verfahrens gelöst.
Die Unbekannten in den Gleichungen können dabei beliebige Namen haben. Ihre Anzahl muss der Anzahl der Gleichungen entsprechen.
Nichtlineare Gleichungssysteme haben häufig mehr als eine Lösung.
Ihre Lösung erfordert eine iterative Vorgehensweise beginnend bei einem Satz von Startwerten.
Welche Lösung gefunden wird und ob überhaupt eine gefunden wird, hängt von den jeweiligen Startwerten ab.
Startwerte kann man entweder explizit (z.B. x=5) oder aber als Intervall (z.B. x=4.5,5.5) angeben.
Werden keine Startwerte angegeben, verwendet das Programm Zufallswerte aus dem Intervall [-10,10].
In jedem Rechenlauf wird nur jeweils eine Lösung bestimmt. Bereits gefundene, andere Lösungen werden gespeichert und mit angezeigt.
Durch die Angabe "Anzahl der Berechnungen" können entsprechend der Angabe mehrere Rechenläufe auf einmal ausgelöst werden.
Die in den Gleichungen nutzbaren Funktionen sind im Wesentlichen die von JavaScript unterstützten Funktionen.
Lineare Gleichungssysteme haben normalerweise (wenn ihre Koeffizientendeterminante ungleich 0 ist) eine eindeutige Lösung.
Diese hängt dann nicht von den Startwerten der Iteration ab. Die Verwendung des Newton-Verfahrens ist hier eigentlich nicht optimal, funktioniert aber.
Das Newton'sche Verfahren
Zur Lösung des im Allgemeinen nichtlinearen Gleichungssystems
f(x) = 0
macht das Newton-Verfahren die iterativ zu wiederholenden 2 Schritte
1) J(xk) sk = -f(xk)
2) xk+1 = xk + sk
Darin ist J(x) die Jacobi-Matrix, die alle partiellen Ableitungen 1. Ordnung von f(x) enthält:
Ji,k = ∂fi/∂xk
Der erste Schritt besteht darin ein lineares Gleichungssystem zur Bestimmung von sk zu lösen.
Der zweite Schritt besteht darin eine bereits bestehende Näherungslösung xk mit Hilfe von sk zu verbessern.
Sonderfall lineares Gleichungssystem
Für ein lineares Gleichungssystem gilt:
f(x) = A x - b = 0.
Weil alle Unbekannten in f(x) nur linear vorkommen, ist die Jacobi-Matrix unabhängig von x
und es gilt dann:
J(x) = A.
Somit vereinfacht sich der 1. Schritt des Verfahrens zu
A sk = -A xk + b.
Formal umgestellt:
A sk + A xk = b,
bzw.
A (sk + xk) = b.
Aufgelöst nach sk + xk:
sk + xk = A-1 b.
Eingesetzt in den 2. Schritt ergibt das:
xk+1 = A-1 b
bzw.
A xk+1 = b.
Man sieht hier, dass die Iteration im Falle eines linearen Gleichungssystems die Lösung theoretisch mit einem Schritt liefert.
Für diesen Schritt muss aber das lineare Gleichungssystem ohnehin einmal gelöst werden.
Schnittpunktsberechnung
Wenn man die Schnittpunkte von 2 Kurven im 2-dimensionalen Raum bestimmen will,
und die beiden Kurven als
f(x,y)=0 und g(x,y)=0
gegeben sind, so liefert dieses im allgemeinen nichtlineare Gleichungssystem
als Lösungen die Schnittpunkte Si(xi/yi) der beiden Kurven.
Im 3-dimensionalen Raum schneiden sich 2 Flächen entlang einer Kurve oder mehrerer Kurven.
Wenn nun eine 3. Fläche hinzukommt, so können Durchstoßpunkte der Kurven mit der 3. Fläche existieren.
Sind also 3 Gleichungen
f(x,y,z)=0, g(x,y,z)=0 und h(x,y,z)=0
gegeben, so kann man diese als 3 Flächenbeschreibungen im 3-dimensionalen Raum verstehen.
Die Lösungen dieses Gleichungssystems sind dann die Schnittpunkte Si(xi/yi/zi), wo sich alle 3 Flächen schneiden.
Hat man ein Gleichungssystem mit mehr als 3 Gleichungen, so gibt es keine Möglichkeit einer geometrischen Interpretation der Lösungen.
weitere JavaScript-Programme