Autor: Bernhard Hofer MatNr: 0100299 eMail: jans_ecleberg@yahoo.com BspNr: 1118 Kategorie: Mathematik Eingabe: Integer Ausgabe: Float im Fixpunktf. ....................................................................................................... Drei Gleichungen in drei Variablen. ....................................................................................................... Kurzbeschreibung: Ein lineares inhomogenes Gleichungssystem von drei Gleichungen in drei Unbekannten soll gelöst werden. Eine Matrix der Form: a11*x1 + a12*x2 + a13*x3 = b1 a21*x1 + a22*x2 + a23*x3 = b2 a31*x1 + a32*x2 + a33*x3 = b3 soll nach den Variablen x1, x2 und x3 gelöst werden. ....................................................................................................... Lösungsansatz: Unter Verwendung des Gausschen Eliminationsverfahren ist eine einfache Lösung des Problems möglich. Die 12 Koeffizenten bilden eine 3x4 Matrix die weiter berechnet werden kann. Zuerst bringen wir die Matrix [a11 ... a33] in Halbdiagonalform, dh. unter der Diagonale a11, a22 und a33 dürfen nur mehr Nullen stehen, jedoch die Werte in der Diagonale müssen ungleich Null sein! Um diese Matrix auflösen zu können addieren wir ein Vielfaches der ersten Zeile zur zweiten und zur dritten Zeile, sodass in der ersten Spalte nur noch in der ersten Zeile ein Wert ungleich Null steht. (1.1) 1 2 3 4 2 2 4 5 | Wert des jeweiligen Koeffizenten -(2/1) * Zeile1 1 -1 1 7 | Wert des jeweiligen Koeffizenten -(1/1) * Zeile1 Es können Spezialfälle auftreten, so zB. a11=0. In diesem Fall müssen Sie zwei Zeilen vertauschen um weiter rechnen zu können. Wenn dies nicht zum gewünschten Erfolg führt, ist das Gleichungssystem nicht eindeutig lösbar! Wenn man die oben beschriebene Operation durchführt, bekommt man eine Matrix mit folgenden Koeffizenten: 1 2 3 4 0 -2 -2 -3 0 -3 -2 3 (1.2) Der nächste Schritt ist, den Wert in a32 (=-3) zu eliminieren: a32 = a22 * x => x = a32/a22 Dies sieht anhand unseres Beispiels so aus: -3 = -2 * x => x = 1.5 (1.3) 1 2 3 4 0 -2 -2 -3 0 -3 -2 3 | Wert des Koeffizente - x*Zeile2 (1.4) Danach stehen (wenn es richtig gemacht wurde) genau in der Diagonale Werte ungleich Null, sodass Sie x1 = b1/a11 x2 = b2/a22 x3 = b3/a33 ermitteln können. Ich versuche den Algorithmus anhand eines allgemeinen Beispiels durchzuführen: a11 a12 a13 b1 a21 a22 a23 b2 a31 a32 a33 b3 (1.1) x ist fortlaufend bis zum Ende der jeweiligen Zeile a11 a12 a13 b1 a21 a22 a2sowohl allgemein als auch an einem konkreten Beispiel)3 b2 | a2x - a21/a11 * a1x a31 a32 a33 b3 | a3x - a31/a11 * a1x daraus ergibt sich folgende Matrix: aus Gründen der Übersichtlickeit werden wir a21/a11 = o und a31/a11 = p nennen a11 a12 a13 b1 a21 - o * a11 = 0 a22 - o * a12 a23 - o * a13 b2 - o * b1 a31 - p * a11 = 0 a32 - p * a12 a33 - p * a13 b3 - p * b3 (1.2) Elimination von a32: Einführung der Hilfsvariablen x: a32 = a22 * x => x = a32/a22 => x = (a32 - p * a12)/(a22 - o * a12) (1.3) Verwendung der Hilfvariable zur Elimination von a32: Die Matrix sieht nach der Operation so aus: a11 a12 a13 b1 a21 - o * a11 = 0 a22 - o * a12 a23 - o * a13 b2 - o * b1 (a31-p*a11)-x*(a21-o*a11) = 0 (a32-p*a12)-x*(a22-o*a12) = 0 (a33-p*a13)-x*(a23-o*a13) (b3-p*b3)-x*(b2-o*b1) FERTIG! Die Matrix wurde in Halbdiagonalform gebracht! (1.4) Berechnen der Endergebnisse: x3: [(a33-p*a12)-x*(a23-o*a13)]*x3 = (b3-p*b3)-x*(b2-o*b1) => x3 x2: (a22-o*a12)*x2 + (a23-o*a13)*x3 = (b2-o*b1) => x2 x1: x1*a11 + x2*a12 + x3*a13 = b1 => x1 ....................................................................................................... ....................................................................................................... Ich entschuldige mich gleich hier für etwaige Tippfehler! Bernhard Hofer 8.11.2001