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