Lineares Gleichungssystem lösen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Vauban
User
Beiträge: 2
Registriert: Dienstag 16. Februar 2016, 18:36

Hallo zusammen.

Ich habe vor kurzem mit Python angefangen und übe nebenbei indem ich kleine Programme zu den Themen die wir in der Schule in Mathe durchnehmen schreibe.
Im Moment ist Vektorenrechnung an der Reihe und ich komm bei der Lösung der Linearen Gleichungssysteme nicht weiter um z.B zu überprüfen ob
ein bestimmter Punkt auf einer Ebene liegt.
Gibt es denn vielleicht irgendeinen Befehl oder ein Modul was das vereinfacht das man z.B nur noch
p1==o1+r*r11+s*r21
p2==o2+r*r12+s*r22
p3==o3+r*r13+s*r23

print("R:",r,"S:",s)
schreibt und dann die passenden Werte bekommt?
In einem anderen Programm habe ich r und s umgestellt, aber das ist doch auf Dauer zu umständlich

Code: Alles auswählen

print("Zwei Geraden gleichsetzen")
print("Geradengleichun g")
o11= float(input("g Ortsv. 1:"))
o12= float(input("g Ortsv. 2:"))
o13= float(input("g Ortsv. 3:"))
r11= float(input("g Richtungsv. 1:"))
r12= float(input("g Richtungsv. 2:"))
r13= float(input("g Richtungsv. 3:"))

print("Geradengleichun h")
o21= float(input("h Ortsv. 1:"))
o22= float(input("h Ortsv. 2:"))
o23= float(input("h Ortsv. 3:"))
r21= float(input("h Richtungsv. 1:"))
r22= float(input("h Richtungsv. 2:"))
r23= float(input("h Richtungsv. 3:"))

# Ermittlung von s und r
s=(((o23-o13)*r12)-((o22-o12)*r13))/((r22*r13)-(r23*r12))
r=(s*r23+(o23-o13))/r13
print("r: ",r,"s: ",s)
# Überprüfung der Werte durch die 1. Gleichung
try: o11+r*r11==o21+s*r21
except: print("Gleichsetzung nicht möglich; Geraden sind windschief zueinander")

input("Ende")
oder kann man das um einiges simpler schreiben?
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Um Gleichungssysteme zu lösen bietet sich das Gaußsche Eliminationsverfahren an. Ansonsten hat numpy auch was um Gleichungssysteme zu lösen.
Vauban
User
Beiträge: 2
Registriert: Dienstag 16. Februar 2016, 18:36

Ok danke :) werd ich morgen mal austesten
Antworten