![]() |
Lösungsweg herausfinden
Hi an alle zusammen!
Ich habe folgendes Problem: Ich schreibe ein Programm, welches Matrizen lösen soll. Also mehrere Gleichungssysteme und damit rechnen. Nun habe ich folgendes Problem: Man muss bei meinem Algorithmus bestimmte Lösungsvariablen herausfinen, welche in jeder Zeile und Spalte jeweils nur einmal vorkommen dürfen und welche nicht Null sein dürfen. Nun muss man also eine Art "Pfad" heraussuchen, welcher festlegt, welche Variablen benutzt werden dürfen und welche nicht. Hierbei muss natürlich darauf geachtet werden, dass man keine Variablen benutzt, welche eine 0 als Wert haben und man muss für jede Lösungsvariable einen Wert finden. Bis jetzt hab es einfach immer von oben nach unten durchlaufen lassen und es hat eigtl immer funktioniert... Bis jetzt... Heute bin ich auf dieses Beispiel getroffen: 1x +0y + 0z = 3 3x -1y + 9z = 9 0x +2y + 0z = 6 Mein Programm würde jetzt mit der ersten Gleichung anfangen und sich weiter nach unten arbeiten. Bei der 3. Gleichung würde jedoch ein Problem entstehen und es würde meckern, da es nur eine Variable gibt, die ungleich 0 ist, diese Reihe aber schon von der darüberliegenen Variablen genutzt wird. Obwohl es ja einen Weg gibt! Man muss die Variablen folgendermaßen auswählen: +1x +0y +0z = + 3 +3x -1y +9z = +9 +0x +2y +0z = + 6 Ich suche jetzt eine Methode, wie ich diese Wege auswählen kann... Wenn irgendjemand eine Idee hat, so möge er sich bitte melden, weil ich mit meinem Latein am Ende bin... Gruß Admirandis |
Re: Lösungsweg herausfinden
Ich habe von diesem Matrizenzeug aber auch nicht ein Wörtchen verstanden ... :roll:
Müssen für x, y und z eigentlich später auch Ergebnisse herauskommen? Na, egal ... Verstanden habe ich (hoffe ich jedenfalls): a.) Dein Programm arbeitet die Gleichungen von oben nach unten ab. b.) Dein Programm muss in jeder Gleichung eine Variable mit Wert ungleich 0 finden. c.) Diese Variable darf aber vorher - also in den Gleichungen weiter oben - noch nicht gefunden worden sein. Nachdem ich im ersten Ansatz ganz schönen Müll geschrieben habe :oops:, hier der nächste Versuch: Mache es quasi rekursiv. Immer wenn du in einer Gleichung keine Variable finden kannst, die nicht schon zuvor dran war, dann springe eine Gleichung nach oben und wähle dort eine andere Variable aus. |
Re: Lösungsweg herausfinden
@Admirandis: Ich finde deinen Text ebenfalls ein wenig unverständlich, was auch zu einem Teil an deiner Verwürfelung von "Variable" und "Koeffizient" liegt ;) . Insegesamt stellt sich mir die Frage: warum benutzt du nicht das
![]() PS: Matrizen kann man im Allgemeinen nicht lösen ;) . |
Re: Lösungsweg herausfinden
Hi!
Sorry, wenn ich mich unverständlich ausgedrückt habe... Ist eben ein wenig schwierig zu erklären. Also, ich nutze das Gauß'sche Eliminationsverfahren. Genauer gesagt den Gauß-Jordan-Algorithmus. Ist aber auch nicht mehr so wichtig! Habe nämlich schon eine Lösung gefunden! Und zwar, dass man die Gleichungen untereinander austauscht. Hab evor lauter Bäumen den Wald nicht gesehen. Falls irgendjemand nochmal genauere Informationen wünscht, dann werde ich gerne nochmal versuchen das genauer zu erklären. Und noch was: Falls man Matrizen nicht lösen kann, dann lügt mein Mathe-LK Lehrer! Hab nämlich mit ihm das Thema besprochen (Weils meine Facharbeit ist!). Nochmals danke an alle, die sich die Mühe gemacht haben, meinen Eintrag zu lesen und nur Bahnhof verstanden haben ^^ Grüße Admirandis |
Re: Lösungsweg herausfinden
Zitat:
Matrizen kann man umformen um so die Lösungen von einem Gleichungssystem besser ablesen zu können, das darf man aber nicht mit Matrizen lösen gleichsetzen! Eine Matrix ist ja bloß ein Konstrukt von mehreren Zahlen in das wir umgestellte Gleichungen eingetragen haben um das lösen der Gleichungen uns zu vereinfachen. Flare |
Re: Lösungsweg herausfinden
Zitat:
Zitat:
Zitat:
|
Re: Lösungsweg herausfinden
Ok, dann sagen wir einfach, dass man Matrizen im Allgemeinen nicht lösen kann, und dann sind alle zufrieden, ok?
Will hier ja keinen Aufstand anzetteln... ^^ Aber nochmals Danke an alle für die sehr hilfreichen Aufklärungen! Grüße Admirandis |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz