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

Mehrere Gleichungen in der richtigen Reihenfolge lösen

 

Mathe2
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 25.01.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.01.2013, 09:59     Titel: Mehrere Gleichungen in der richtigen Reihenfolge lösen
  Antworten mit Zitat      
Guten Morgen,

ich habe folgendes Problem:

Ich habe in meinem Programm eine vielzahl von unterschiedlichen Gleichungen (z.B.: g1....g4)
Viele dieser Gleichungen hängen von anderen Gleichungen ab. z.B.:

x1=5*x2
x2=7*x4
x3=6*8
x4=4*x3

Wie bekomme ich jetzt Matlab dazu zuerst die Gleichung 3, dann Gleichung 4 usw. zu berechnen. Ich weiss, dass eine Gleichung immer zu lösen ist und damit die nächste usw.
Die Gleichungen vorher zu sortieren ist ziemlich unmöglich. Als Lösungsmöglichkeit habe ich mir 2 Sachen überlegt.

1. Ich lasse die Gleichungen alle durchlaufen und er löst nur die, die er lösen kann. Die anderen ignoriert er. Danach lasse ich das ganze nochmal durchlaufen, da er jetzt durch die erste gelöste Gleichung eine weitere Variable kennt kann er nun eine weitere Gleichung lösen usw. Allerdings dürfte das ein ziemlicher Rechenaufwand sein, da ich hunderte bis tausende Gleichungen habe.

2. Wesentlich eleganter wäre natürlich wenn er die Gleichungen alle berechnet und bei den meisten dann mit Platzhaltern arbeitet und diese Platzhalter sobald er sie kennt ersetzt. Dies wäre eleganter, da meine Gleichungen nicht so schön einfach sind wie oben.


Kann mir jemand nen Tipp geben wie ich mein Problem lösen kann?

MfG
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 25.01.2013, 12:21     Titel:
  Antworten mit Zitat      
Hallo

an dieser Stelle muss du mit symbolischen Variablen arbeiten. Dazu brauchst du aber Symbolic Toolbox.

Code:
syms x1  x2 x3 x4;

res = solve('x1=5*x2', 'x2=7*x4', 'x3=6*8', 'x4 =4*x3')

res.x1
res.x2
res.x3
res.x4
Private Nachricht senden Benutzer-Profile anzeigen
 
Mathe2
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 25.01.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.01.2013, 12:41     Titel: Danke
  Antworten mit Zitat      
Danke, das sieht ganz gut aus, für das kleine Beispiel klappt es. Für meine größeren Gleichungen werde ich es nachher mal ausprobieren, aber eigentlich gibts kein Grund warum es dafür nicht klappen sollte. Also nochmal danke.
Private Nachricht senden Benutzer-Profile anzeigen
 
Mathe2
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 25.01.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.01.2013, 18:53     Titel: .
  Antworten mit Zitat      
Sieht zwar passend aus, aber hab nun ein anderes Problem dabei.
Wie kann ich mehrere Variablen gleichzeitig als symbolische Variablen definieren. Es geht darum, dass ich weit über 100 Variablen benötige und die will ich nicht alle bei syms ....; eintragen. Also gibt es irgendwie die Möglichkeit:


syms y(i); % für i=1:1:100 zu definieren?
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.