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

Differentialgleichungssystem mithilfe von expm lösen

 

Hirte
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 12.07.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.07.2016, 18:21     Titel: Differentialgleichungssystem mithilfe von expm lösen
  Antworten mit Zitat      
Hallo alle zusammen.
Ich habe ein Problem mit MATLAB, nämlich geht es um folgendes:
Ich muss für mein Studium ein Programm schreiben, welches ich als Zulassungsvoraussetzung für eine Klausur brauche und der Abgabetermin ist der 31.7, jedoch fahre ich am Freitag in Urlaub und würde mich über eine frühe Antwort sehr freuen.
Ich soll das DGL-System y' = Ay mit der angegebenen Matrix A und dem Anfangswert y0 im Zeitraum t ∈ [0,100] mit Hilfe der MATLAB Matrix Exponentialfunktion expm lösen und den Lösungsvektor y(t) plotten.
Dabei sähen die Werte wie folgt aus:
A=(0, 2, 3; -2, -4, 1; -3, -1, 1) y0=(1, 2, 3)

Als Hinweis habe ich noch gegeben, dass die Lösung durch y(t)=expm(A*t)y(0)
gegeben ist.
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 12.07.2016, 19:11     Titel:
  Antworten mit Zitat      
Hallo,

was hast du versucht, und welche Probleme sind dabei aufgetreten?

Die Aufgabenstellung enthält ja schon einen sehr guten Hinweis zur Lösung. Du musst das nun nur noch für verschiedene t auswerten und plotten.

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

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 12.07.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.07.2016, 19:23     Titel:
  Antworten mit Zitat      
Ich hatte das Programm bereits zum laufen gebracht, indem ich die DGL mithilfe von ode45 berechnet habe und y' in einer Funktion wie folgt berechnet habe:
dy=A*expm(A*t)*y0.

Allerdings ist diese Lösung nicht zulässig, da ich die Berechnung allein über die expm Funktion machen soll.
Ich muss zugeben, dass ich mich damit nicht gut auskenne, aber ein Problem von mir wäre, wie ich den Vektor für t in die Berechnung reinbekomme. Ich kann ja keine 3x3 Matrix mit einem 1x2 Vektor verrechnen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 12.07.2016, 19:41     Titel:
  Antworten mit Zitat      
Hallo,

ode45 ist doch hier absoluter Overkill (und zudem wohl falsch, da du wenn dy = A*y setzen müsstest).

Du musst doch wirklich nur die gegebene Lösung auswerten, also z.B.
Code:
y(0) = expm(A*0)*y0
y(1) = expm(A*1)*y0
y(2) = expm(A*2)*y0


Dafür eignet sich eine for-Schleife gut. Zudem eine Matrix, um die y abzuspeichern.

Grüße,
Harald
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.