WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Umformen symbolischen Gleichungssystems in Matrizenform

 

Sora1337
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 22.08.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.08.2016, 13:29     Titel: Umformen symbolischen Gleichungssystems in Matrizenform
  Antworten mit Zitat      
Hallo zusammen,

ich habe ein Gleichungssystem, das mit der Form Ax=b beschrieben werden kann. Dies kann mit der Zuweisung x=A\b; gelöst werden.

Bei meiner Anwendung habe ich die Gleichungen des Gleichungssystems in symbolischer Darstellung vorliegen. Diese kann ich an sich auch mit dem Befehl solve lösen, was bei meinem sehr großen Gleichungssystem von mehreren 1000 Gleichungen viel Zeit benötigt. Dementsprechend würde ich die symbolische Gleichung gerne auf die numerische Form bringen und sie mit dem Backslash-Operator lösen. Hat jemand eine Idee, wie man das machen könnte?


Eine andere Möglichkeit wäre natürlich die Gleichung direkt in die numerische Darstellung zu bringen. Meine Gleichungen werden jedoch erst durch mehrere Funktionsaufrufe erstellt, sodass dies hier sehr aufwändig wäre.
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.500
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 22.08.2016, 13:57     Titel:
  Antworten mit Zitat      
Hallo,

wenn du ein kleines Beispiel mit ca. 3 Gleichungen posten kannst, das die momentane Vorgehensweise zeigt, wäre das hilfreich.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Sora1337
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 22.08.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.08.2016, 15:20     Titel:
  Antworten mit Zitat      
Hallo Harald,

danke für deine Antwort. Ich werde versuchen ein Minimalbeispiel zu erstellen.
Angenommen, man will das LGS
 x_1+x_2+x_3=3\\2x_1+3x_2+4x_3=7\\x_2+x_3=1

lösen, so könnte man die Matrix [math]
A=\begin{pmatrix} 1 & 1& 1 \\ 2 &3 & 4\\ 0 & 1 &1 \end{pmatrix}
[\math] und den Vektor [math]b=\begin{pmatrix}3\\ 7\\1\end{bmatrix} [\math] erstellen.

In Code also:

Code:
A=[1 1 1;2 3 4; 0 1 1];
b=[3;7;1];
x=A\b;

In die Form möchte ich meine Gleichungen bringen.

Ich habe jedoch die Form

Code:
X=sym('x',[3,1]);
eq1=[X(1)+X(2)+X(3)==3;2*X(1)+3*X(2)+4*X(3)==7;X(2)+X(3)==1];
sol=solve(eq1);


ich möchte also eq1 in die Matrizen A und b überführen, um die Gleichung anders zu lösen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.500
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 22.08.2016, 16:02     Titel:
  Antworten mit Zitat      
Hallo,

ich habe gerade gesehen, dass es eine Funktion genau dafür gibt:

Code:
[A, b] = equationsToMatrix(eq1)
A = double(A);
b = double(b);


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Sora1337
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 22.08.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.08.2016, 08:51     Titel:
  Antworten mit Zitat      
Hallo Harald,

genau so etwas habe ich gesucht. Vielen Dank für die Hilfe.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.