Matroids Matheplanet Forum Index
Moderiert von mire2
Mathematische Software & Apps » Matlab » Unterbestimmtes LGS aber einen Lösungsteil vorgeben
Autor
Universität/Hochschule Unterbestimmtes LGS aber einen Lösungsteil vorgeben
cedi123
Ehemals Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 17.08.2017
Mitteilungen: 45
  Themenstart: 2018-09-30

Hallo, ich würde gerne ein Programm schreiben, welches ein lineares Gleichungssystem löst, was aber vorerst unterbestimmt ist (6 Variablen, 3 Gleichungen). Wenn man das Programm aufruft, soll man vorher schon 3 Variablen zu Null setzen und das Programm soll mit dieser Info das Gleichungssystem lösen. Wie löse ich das? Ich versuche das mit Matlab zu realisieren, benutze also für ein Gleichungssystem der Art A*x=b den Befehl "A\b". Kann ich irgendwie A und b so verändern, dass es mir die restlichen Variablen ausspuckt? Ich hatte überlegt, z.B. die 3. Spalte der Matrix A zu Null zu setzen, wenn die 3. Variable Null ist. Ist das zielführend? Danke im Vorraus!


   Profil
Folgende Antworten hat der Fragensteller vermutlich noch nicht gesehen.
Er/sie war noch nicht wieder auf dem Matheplaneten
elmio
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 31.01.2007
Mitteilungen: 559
Wohnort: verschiede Orte, D
  Beitrag No.1, eingetragen 2019-01-26

Hi cedi123, stell dir vor du kennst Variablen i ( = z.B. 2 4 6), d.h. du kennst x(i); dann sind die übrigen unbekannt, nenne ich mal j (= z.B.1 3 5) dann kannst Du die Gleichung wie folgt zerlegen: A*x = b [A(i,i) A(i,j)] [ x(i) ] = b(i) [A(j,i) A(j,j)] [ x(j) ] = b(j) Das sind dann also 2 Gleichungen: A(i,i)*x(i) + A(i,j)*x(j) = b(i) A(j,i)*x(i) + A(j,j)*x(j) = b(j) Du kannst also die bekannten Grössen auf die rechte Seite bringen A(i,j)*x(j) = b(i) - A(i,i)*x(i) A(j,j)*x(j) = b(j) - A(j,i)*x(i) Jetzt gibt es leider keine Garantie das eine der beiden Gleichungen lösbar ist, oder wenn ja welche, deswegen kannst du jetzt weiter definieren: [A(i,j)] = A2 [A(j,j)] und [b(i) - A(i,i)*x(i)] = b2 [b(j) - A(j,i)*x(i)] und die Gleichungen somit wieder zusammen bauen: A2*x(j) = b2 Was jetzt unpassenderweise 6 Gleichungen mit 3 unbekannten sind. Du kannst die Lösung der kleinsten quadrate benutzen: (A2' * A2) * x(j) = A2'*b2 also ist x(j) = ( A2'*A2 ) \ (A2'*b2) Ich glaube zumindest dass das so stimmen müsste (keine Garantie). Gruss, elmio


   Profil

Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]