DGL ploten mit Matlab < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 15:44 So 27.06.2010 | Autor: | physicus |
Meine Frage betrifft das ploten von Lösungen von gewöhnlichen DGL mittels Matlab. Genauer verstehe ich nicht was folgender Befehl genau macht. Oft sieht man folgendes:
plot(t,y(:,1),'-',t,y(:,2),'*')
Wobei [t,y] die Lsg von irgendeinem Löser ist (z.B. ode45). Was bedeutet genau y(:,1) resp. y(:,2). Entschuldigt, wenn es eine dumme Frage ist, leider habe ich aber niergens eine Antwort darauf gefunden.
Ich hätte i.a. einen Plot wie folgt aufgerufen:
plot(t,y)
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 23:12 So 27.06.2010 | Autor: | max3000 |
> Entschuldigt, wenn es eine dumme Frage ist, leider habe ich
> aber niergens eine Antwort darauf gefunden.
Nein es ist keineswegs eine dumme Frage.
Erstmal kannst du dir eine Erklärung zu den Funktionen anzeigen lassen wenn du zum Beispiel
help plot
in Matlab eingibst. Hab leider nur Gnu Octave aber es müsste eigentlich das selbe sein.
Also dein Befehl sieht so aus:
plot(t,y(:,1),'-',t,y(:,2),'*')
Gehen wir mal die Parameter durch:
-t : die Werte für die x-Koordinate. Ich nehme mal an das ist ein Vektor, der z.B. die Werte 0, 0.1, 0.2, ... 0.9, 1 beinhaltet. Das wäre zum Beispiel für ein Gitter mit 11 Gitterpunkten für das Intervall [0,1]
-y(:,1) : y ist hier erstmal eine Matrix, wo du Wahrscheinlich alle Lösungen als Spaltenvektoren einträgst. Das ":" bedeutet, soviel wie "von Anfang bis Ende" und das 1 die erste Spalte. Zum Beispiel ist y(3,1) das Element in der dritten Zeile und in der 1. Spalte. y(1:3,1) ist der Vektor von Zeile 1 bis 3 in der 1. Spalte und eben in deinem Fall hast du die komplette Spalte.
- '-' : Die Kurve im Plot wird als durchgezogene Linie dargestellt.
Die anderen 3 Argumentpaare sind dann die Werte für die zweite Kurve, also die 2. Spalte der Matrix wieder gegen t geplottet und die Punkte werden als Sterne in das Diagramm eingetragen.
Eigentlich plottest du nicht komplette Kurven sondern nur Vektoren gegen Vektoren. Wenn du ganz viele Punkte hast, dann sieht das im Endeffekt nur aus wie eine glatte Kurve.
Hoffe das konnte dir etwas weiter helfen.
Grüße
|
|
|
|