We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

06.3 Jacobi-Verfahren, iterative Lösung

00:00

Formale Metadaten

Titel
06.3 Jacobi-Verfahren, iterative Lösung
Serientitel
Anzahl der Teile
92
Autor
Lizenz
CC-Namensnennung - keine kommerzielle Nutzung - Weitergabe unter gleichen Bedingungen 3.0 Deutschland:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben.
Identifikatoren
Herausgeber
Erscheinungsjahr
Sprache
Produzent

Inhaltliche Metadaten

Fachgebiet
Genre
Lösung <Mathematik>GleichungssystemTermumformungNichtlineares GleichungssystemJacobi-VerfahrenEliminationsverfahrenZahlenbereichPhysikalische GrößeMatrix <Mathematik>KoeffizientenmatrixBetrag <Mathematik>DeterminanteDiagonale <Geometrie>RechnenQuadratKoeffizientMatrizenringComputeranimation
GleichungGradientZahlenbereichMatrizenringLösung <Mathematik>AggregatzustandGrößenordnungComputeranimation
Computeranimation
VariableNichtlineares GleichungssystemGrößenordnungComputeranimation
Computeranimation
ZahlenbereichIndexComputeranimation
GrößenordnungComputeranimation
ZahlenbereichComputeranimation
ZahlenbereichDiagonale <Geometrie>Computeranimation
Computeranimation
Computeranimation
Computeranimation
Computeranimation
GleichungRundungComputeranimation
VektorGleichungZahlenbereichComputeranimation
TheoremZahlenbereichNichtlineares GleichungssystemJacobi-VerfahrenComputeranimation
Nichtlineares GleichungssystemRundungsfehlerZahlenbereichIterationComputeranimation
EliminationsverfahrenSchätzfunktionComputeranimation
SchätzungComputeranimation
Transkript: Deutsch(automatisch erzeugt)
Das Eliminationsverfahren kann jetzt also beliebige Anzahlen an Gleichungen und Unbekannten, das müssten nicht gleich viele sein, es kommt damit zurecht, dass es vielleicht keine Lösung gibt, es kommt damit zurecht, dass es vielleicht unendlich viele Lösungen gibt. Wenn diese Gleichungssysteme sehr groß werden, wenn ich da wirklich Millionen mal Millionen habe,
oder 10 Millionen mal 10 Millionen habe, möchte ich im Allgemeinen noch einfacher rechnen, hier nicht die ganzen Umformungen machen, sondern noch viel schlichter rechnen. Ich wollte Ihnen ein Verfahren von der Sorte zeigen, dass Sie die Spur einer Idee haben, wie man denn noch an sowas rangehen könnte, das Jacobi-Verfahren.
Als solches ist das nicht so spannend, es ist für mich jetzt nur ein Shell-Vertreter für Verfahren, die iterativ arbeiten. Bei dem Kramer-Verfahren fällt einem direkt die Lösung vor die Füße,
nachdem man monströse Determinanten ausgerechnet hat. Aber im Prinzip, zumindest in der Formel, fällt einem die Lösung sofort vor die Füße. Bei dem Eliminationsverfahren hat man was zu arbeiten hin, was zu arbeiten rückwärts und hat dann eine Lösung, die steht dann da auf dem Papier oder im Rechner.
Bei den iterativen Verfahren ist der Ansatz anders. Ich taste mich an die Lösung ran, Schrittweise, deshalb iterativ. Ich nähere mich der Lösung Schrittweise. Das sieht erst aus, als ob es schwachsinnig ist. Warum soll ich das tun, wenn ich doch direkt eine Formel haben kann?
Aber vielleicht reicht es mir, die Lösung auf zwei Stellen nach dem Komma zu wissen, und das ist dann dafür aber schneller. Vielleicht kriege ich die Lösung in zwei Stunden statt in zwei Tagen. Dann nehme ich gerne ein iteratives Verfahren. Also man tastet sich schrittweise an den richtigen Wert ran. Jakobiverfahren als ein Vertreter dafür, das ist der einfachste Vertreter davon.
Vielleicht nicht das, was man in der Praxis benutzt, aber etwas, an dem ich Ihnen mal zeigen kann, was denn da hinter den Kulissen passiert. Ich nehme mal folgendes Gleichungssystem als Beispiel. Es steht im Skript, 10x plus y minus z ist gleich minus zwei.
Minus x plus 8y plus z ist gleich eins. Und x minus y minus 20z ist gleich drei.
Das soll mein Gleichungssystem sein. Anders als das Eliminationsverfahren kann das Jakobiverfahren auch wieder nicht alles fressen. Das Jakobiverfahren will quadratische Matrizen haben, so viele Gleichungen wie unbekannte, und es will diagonal dominierte Matrizen haben.
Auf der Diagonalen sollen große Zahlen stehen. In einem bestimmten Sinne große Zahlen stehen, will ich jetzt nicht im Detail durchdeklinieren, was das heißt. Also eine quadratische Koeffizientenmatrix und auf der Diagonalen stehen im Betrag große Zahlen, wie hier.
Dann kann man sich relativ einfach überlegen, wie man sich schrittweise der Lösung nähern kann. Für 3x3 macht das keinen Sinn. Für 3x3 würde ich das Kramerverfahren nehmen und fertig. Nur dasselbe, was ich jetzt vorführe, können Sie auch mit 1 Millionen mal 1 Millionen machen. Und das geht mit dem Kramerverfahren definitiv nicht mehr.
Der erste Schritt ist aufzulösen. Ich löse immer nach den Diagonalelementen auf. Für den Lückentext Nummer 4. Also hier oben nach x auflösen. Ich lasse x auf der Seite stehen, yz bringe ich rüber, teile durch 10.
Dann steht da, das ist minus 2 Zehntel. Y rüberbringe, macht minus y durch Zehntel. Minus y Zehntel plus z Zehntel.
Also wenn ich sage hinreichend groß, es gibt ein Kriterium, was man mit einer unschönen Formel hinschreiben kann, wie groß die sein müssen. In Zweifel 2 sieht man aus den Gleichungen, die gleich entstehen, ob das hinhaut oder nicht.
Also das wäre die erste Gleichung. Ich löse die nach x auf. Die zweite Gleichung, immer nach der Diagonale, löse ich nach y auf. y ist gleich, ich muss durch 8 teilen. Dann steht also 1 Achtel, x bringe ich rüber, plus x Achtel, z bringe ich rüber, minus z Achtel.
Und die letzte, nach der Diagonale, z aufgelöst. Also durch minus 20 teilen, hier steht also 3 durch minus 20. x bringe ich rüber, wird es minus x und ich teile durch minus 20, bleibt x durch 20.
Minus y bringe ich rüber, da steht auf der rechten Seite plus y, durch minus 20 sind minus y durch 20. Immer noch 3 Gleichungen mit 3 Unbekannten. Das Schöne ist, dass ich jetzt sofort sehen kann, in welcher Größenordnung x, y, z liegen müssen.
Wie gesagt, iterativ heißt, ich nähere mich schrittweise der Lösung. Irgendwo muss ich starten. Wo würden Sie starten? Was x, y, z sollte der Startwert sein? Ich schreibe erst einmal hin, was da ein Skript soll. Also als Startwert würde man ganz einfach die Zahlen nehmen, die hier stehen.
Dann erzähle ich nochmal warum. Plausibler Startwert, könnte auch ein anderer nehmen. Plausibler Startwert, aber der drängt sich auf. Wenn ich schätzen will, wo dieses x, y, z ist, meine erste Näherung,
oder ich schreibe jetzt 0 dran, Startwert heißt dann gerne mit Index 0. Meine nullte Näherung für die Lücke 5 ist einfach minus 2 zehnte. Von mir aus 1 fünftel. Ja, ich mache mal 1 fünftel draus, das nervt hier 2 zehnte. 1 fünftel mache ich dann mal draus.
Minus 1 fünftel, 1 achte, minus 3 zwanzigste. Das wäre meine erste Idee, in welcher Größenordnung sich x, y, z bewegen. Denn, wenn Sie angucken, was passiert, x ist 1 fünftel. Und jetzt nehme ich von y noch 1 zehntel, von dem achten 1 zehntel, das ist nicht allzu viel.
Und von dem z, von den 3 zwanzigsten nehme ich 1 zehntel, das ist auch nicht allzu viel. Das ist ja also nur eine ganz kleine Korrektur. Das ist der Trick, weil die Zahlen auf der Hauptdiagonalen so groß waren, kriege ich hier nur kleine Korrekturen, durch 10 durch 10. Y durch 10, 1 achte durch 10, das macht den Braten nicht fett.
Und hier z, minus 3 zwanzigste durch 10, die beiden machen den Braten nicht fett. Es bleibt ungefähr minus 1 fünftel. Das selbe bei dem y, 1 achte und die beiden hier tragen nicht viel bei. 1 fünftel durch 8, das ändert das achte nicht deutlich. Und hier das z, minus 3 zwanzigste durch 8, ändert auch nicht viel dran.
Also weil die durch große Zahlen geteilt werden, hier durch die 8 geteilt werden und hier unten durch 20, x wird durch 20, y wird durch 20 geteilt, weil die durch große Zahlen geteilt werden, bleibt es im Endeffekt da. Jetzt habe ich das ein guter Startwert. Das hat also direkt damit zu tun, dass das Diagonal dominiert war.
Dass diese Matrixdiagonal dominiert war. Das wäre ein sinnvoller Startwert. Und jetzt rechne ich einfach weiter. Ich setze einfach diesen Startwert ein und gucke, was denn x sein sollte. Wenn y ein achte List und z, minus 3 zwanzigste List, was müsste denn dann x sein?
Also ich kriege eine pinzige Korrektur. Und das ist mein zweiter Schritt. Für die Nummer 6. Also x1, y1, z1. Mein zweiter Eterationsschritt. Nummer 6.
Den kriege ich, indem ich einfach jetzt einsetze. y0 und z0 setze ich ein. Das macht 1 fünftel hier vorne weiterhin. y0 setze ich ein. Das war 1 achte, minus 1 achtzigste. Und z zehnte.
Das sind minus 3 zweihundertste. Minus 3 zweihundertste. Und nun kommt y. 1 achte. Plus x achte. Also minus 1 vierzigste. Äh, minus nicht plus. Minus 1 vierzigste.
Und hier minus z achte. Ja, das ist jetzt minus dreihundertsechzigste. Plus dreihundertsechzigste. Minus plus dreihundertsechzigste. Ich sehe mich da schon auf YouTube wieder korrigieren. Und hier unten, für den letzten.
Ich setze hier x und y aus meinem Startwert ein. Und gucke, was denn jetzt mit z passieren sollte. Minus 3 zwanzigste. Ich kriege x zwanzigste dazu. Also minus einhundertste. Minus einhundertste. Minus. Minus macht plus.
3 vierhundertste. So sieht das bisher aus. So. Das wäre die zweite Näherung. Im ersten Schritt, ganz billig. Und das setze ich jetzt einfach in diese Gleichung ein.
Eigentlich müsste es exakt gelten. Eigentlich müsste x genau gleich. Minus ein fünftel. Minus x und zehntel. Plus z zehntel sein. Ich nehme das jetzt einfach als nächsten Iterationsschritt. Minus ein fünftel. Und dann diese winzige Korrektur hier. Und hier ein achtel. Und diese Korrektur. Und da unten minus 3 zwanzigste.
Und diese Korrektur. Kleine Korrekturen. Sie sehen das an den hundertsteln. Da unten achtzigste. Und im nächsten Schritt mache ich das nochmal. Was hier rauskommt, setze ich wieder in die rechte Seite ein. Und habe x zwei, y zwei, z zwei. Und immer weiter.
Und dass wir zum Schluss auf einen Vektor hinauslaufen. Sich immer weiter um einen Vektor zusammenziehen. Wenn denn diese Zahlen hier groß genug waren. Wenn nicht denn hier denn die Korrekturen durch Zahlenteile, die groß genug sind.
Hier immer jede Korrektur durch zehn Teilen. Hier jede Korrektur durch acht. Hier jede Korrektur durch zwanzig Teilen. Die nächste Korrektur wird also nur noch ein zwanzigstel vom zwanzigstel sein. Die nächste Korrektur ein zwanzigstel vom zwanzigstel vom zwanzigstel sein. Das fällt exponentiell zusammen.
Das ist der Trick bei dem Jacobi-Verfahren. Das sieht so generalmaßen auf den ersten Blick ein bisschen komisch aus. Warum soll ich das machen? Aber je größer die Gleichungen sind, umso mehr Fehler handelt man sich hier sowieso ein. Wenn Sie hier Millionen von Zahlen adiieren, multiplizieren, durcheinander teilen,
handeln Sie nicht sowieso hier schon fürchterliche Rechentfehler. Rundungsfehler soll es sein. Fürchterliche Rundungsfehler, eigentlich Rechentfehler. Rundungsfehler handeln Sie sich hier ein. Von daher ist das auch kein Problem, wenn ich hier nur zwei, drei Stellen nach dem Komma habe. Nach zwei, drei Iterationen. Dafür habe ich die aber super schnell, die zwei, drei Stellen. Und vielleicht wird das Eliminationsverfahren nicht viel besser in der Genauigkeit.
Also je größer die Gleichungssysteme werden, umso eher sehen Sie dann plötzlich solche Tricks, dass ich eine Lösung schätze und dann die geschätzte Lösung wieder einsetze, die nächste Schätzung rauskriege und wieder und wieder und wieder und dann nach drei, vier, fünf, zehn, zwölf Mal abbreche
und sage, das ist mir gut genug.