|
|
Differentialgleichungssystem mithilfe von expm lösen |
|
Hirte |

Forum-Newbie
|
 |
Beiträge: 2
|
 |
|
 |
Anmeldedatum: 12.07.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.07.2016, 18:21
Titel: Differentialgleichungssystem mithilfe von expm lösen
|
 |
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.
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 12.07.2016, 19:11
Titel:
|
 |
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
|
|
|
Hirte |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 2
|
 |
|
 |
Anmeldedatum: 12.07.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.07.2016, 19:23
Titel:
|
 |
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.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 12.07.2016, 19:41
Titel:
|
 |
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.
Dafür eignet sich eine for-Schleife gut. Zudem eine Matrix, um die y abzuspeichern.
Grüße,
Harald
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|