ich bin zurzeit dabei mit Python einen 3x3 Gauß-LGS-Rechner in Python zu entwickeln.
Hierzu verwende ich 3 Arrays in denen jeweils die 4 Koeffizienten gespeichert werden.
Anschließend soll wie beim normalen Rechnen die erste Reihe mit der 2./3. Reihe multipliziert werden, um die linken Koeffizienten auf 0 zu bekommen. Hierzu nutze ich die Formel: (1 / oberste Reihe * 2. Reihe * (-1) bzw. (1 / oberste Reihe * 3. Reihe * (-1). Das funktioniert auch so weit.
Beim 2. Schritt, wenn man in der 3. Reihe die 2. Zahl auf 0 bekommen will, funktioniert jedoch das Programm noch nicht. Wahrscheinlich habe ich hierbei einen kleinen Logikfehler

-
Anschließend folgt dann noch das zurückrechnen, um die Lösungsmenge zu bestimmen. Diesen Punkt habe ich noch nicht gemacht, werde ihn aber machen, sobald ich es geschafft habe, dieses Problem zu lösen. Nur falls jemand fragt, warum dieser noch nicht vorhanden ist.
Im Code selber (unten angefügt) sind a,b,c Zählvariablen für die Whileschleifen und mulx sind die Formeln um auf die Koeffizienten zu kommen.
Zum Schluss: Ich bin neu hier und weiß, dass man nach viewtopic.php?f=1&t=1689 keine kompletten Hausaufgaben reinschrieben soll. Jedoch hänge ich nur an diesem kleinen Punkt und hoffe, dass ihr mir trotzdem helfen könnt.
Code: Alles auswählen
print("Gauß-Rechner")
length=3
a=0
reihea=[6,-1,2,1]
reiheb=[5,-3,3,4]
reihec=[3,-2,1,14]
print("Ursprungsreihe:")
print(reihea)
print(reiheb)
print(reihec)
##Funktionen um 3x3 Array zu berechnen
mul1=1/reihea[0]*reiheb[0]*(-1)
mul2=1/reihea[0]*reihec[0]*(-1)
mul3=1/reiheb[1]*reihec[1]*(-1)
print(reihea[0])
print(reiheb[0])
print("A mit B *",mul1)
print("A mit C *",mul2)
print("B mit C *",mul3)
b=0
c=0
##BErechnen der zweiten EBene
print()
print("Zweite Ebene")
print(reihea)
while b<=length:
reiheb[b]=reihea[b]*mul1+reiheb[b]
b=b+1
print(reiheb)
while c<=length:
reihec[c]=reihea[c]*mul2+reihec[c]
c=c+1
print(reihec)
## Berechnen der dritten EBene
b=0
print()
print("Dritte Ebene")
print(reihea)
print(reiheb)
##Berechnen der dritten ZEile
while b<=length:
reihec[b]=reiheb[b]*mul3+reihec[b]
b=b+1
print(reihec)