|
vatten |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.11.2011, 17:53
Titel: Zeitreihe (Datum, Daten)
|
 |
Hallo zusammen,
ich hatte bisher noch nicht viel mit Matlab zu tun, so dass ich bisher noch keine Lösung zu meiner kleinen Aufgabe gefunden habe.
Ich möchte eine Zeitreihe in Matlab einlesen und als Diagramm/plot darstellen.
Die Textdatei (am.txt) habe ich angehängt oder siehe auch unten. Bisher habe ich nicht herausgefunden wie ich sich die erste Spalte (yyyy.mm.dd) als Datum auf der X-Achse darstellen lässt.
In der zweiten Spalte stehen dann die Daten (y-Achse).
Ich hoffe mir kann jemand weiterhelfen.
1991.08.01. 1926.51
1991.08.02. 1569.04
1991.08.03. 721.59
1991.08.04. 448.14
1991.08.05. 326.21
1991.08.06. 262.21
1991.08.07. 224.51
1991.08.08. 200.11
1991.08.09. 192.02
1991.08.10. 184.37
1991.08.11. 177.14
1991.08.12. 170.29
1991.08.13. 163.79
1991.08.14. 157.63
1991.08.15. 151.78
1991.08.16. 146.22
1991.08.17. 140.94
Beschreibung: |
|
 Download |
Dateiname: |
am.txt |
Dateigröße: |
4.48 KB |
Heruntergeladen: |
462 mal |
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 07.11.2011, 18:40
Titel: Re: Zeitreihe (Datum, Daten)
|
 |
Hallo vatten,
Was hast Du denn bisher versucht und welche konkreten Probleme traten dabei auf?
Gruß, Jan
|
|
|
vatten |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.11.2011, 10:10
Titel:
|
 |
Hallo Jan,
bisher habe ich nur die folgenden beiden Anweisungen ausprobiert.
>> load am.txt;
>> plot (am)
Immerhin wird die Zeitreihe damit geplottet, nur das Datumsformat wird natürlich noch nicht erkannt. Meine Frage ist jetzt wie ich Datum und Werte jeweils als Vektor einlesen kann, sodass beim plotten auf der y-Achse das Datum angezeigt wird.
Gruß vatten
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.500
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 08.11.2011, 10:19
Titel:
|
 |
Hallo,
der Befehl load ist für Textdateien nicht empfehlenswert. In deinem Beispiel wird z.B. das Datum als Gleitkommazahl interpretiert; leider geht dabei die Tag-Information verloren.
Empfehlung:
TEXTSCAN zum Einlesen der Daten
DATENUM zum Umwandeln der Datumsstrings in Datumsnummern
DATETICK zur gewünschten Beschriftung der Achsen.
Grüße,
Harald
|
|
|
vaten |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.11.2011, 14:52
Titel: Textfeld in Diagramm
|
 |
Hallo,
mittlerweile konnte ich mein Problem lösen. Vielen Dank!
Jetzt möchte ich zu einem Diagramm ein Textfeld hinzufügen. Das Textfeld soll aber auch eine berechnete Variable enthalten. Vielleicht kann mir hier jemand helfen?
Viele Grüße
|
|
|
Bijick |

Ehrenmitglied
|
 |
Beiträge: 914
|
 |
|
 |
Anmeldedatum: 18.06.07
|
 |
|
 |
Wohnort: Nürnberg
|
 |
|
 |
Version: R2006b, R2008b
|
 |
|
|
 |
|
Verfasst am: 17.11.2011, 12:56
Titel:
|
 |
Hallo vaten,
die Stichworte sind annotation für die Textbox und sprintf für die Verwendung von berechneten Werten im Text.
Herzliche Grüße
Bijick
_________________
>> why
|
|
|
vatten |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.11.2011, 10:39
Titel:
|
 |
Hallo,
vielen Dank für die Hilfe!
Jetzt habe ich eine Matrix (1466x6) als n = datevec(year,'yyyy.mm.dd.') für mein Datum sowie einen 1466x1 Vektor mit den zugehörigen Werten. Gibt es eine Möglichkeit einzelne Monate (z.B. nur n(:,2)==1 für den Januar) aus der datvec matrix auszuwählen und die zugehörigen Werte (aus dem Wertevektor) in einem anderen Vektor zu speichern?
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 24.11.2011, 10:54
Titel:
|
 |
Hallo vatten,
Zitat: |
Gibt es eine Möglichkeit einzelne Monate (z.B. nur n(:,2)==1 für den Januar) aus der datvec matrix auszuwählen und die zugehörigen Werte (aus dem Wertevektor) in einem anderen Vektor zu speichern? |
Ja, die Möglichkeit gibt es.
Gruß, Jan
|
|
|
knocks |

Forum-Newbie
|
 |
Beiträge: 9
|
 |
|
 |
Anmeldedatum: 12.04.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.04.2012, 22:15
Titel:
|
 |
|
 |
|
sorry für das reanimieren des Threads, aber ich habe eine sehr ähnliche Frage.
Ich möchte eine Zeitreihe einlesen die wie folgt aufgebaut ist:
Datum, Wert 1, Wert 2
03.01.2000 1455.22 3.08458597
04.01.2000 1399.42 1.3010478
05.01.2000 1402.11 1.80184373
06.01.2000 1403.45 1.64371386
07.01.2000 1441.47 1.879722509
Ist es möglich, diese Daten in eine Matrix zu speichern, obwohl Spalte 1 als String gespeichert wird und die Spalten 2 und 3 als Werte.
Mir ist es deshalb wichtig, weil ich verschiedene Bezüge auf Spalte 2 und 3 machen werde, welche das korrespondierende Datum aus Spalte ausgeben sollen, z.b. if Wert 1>1400, output Datum (oder ähnlich)
Was mir bereits gelungen ist, ist die Spalte 2 und 3 einzulesen, wenn ich die Spalte 1 aus dem Excel raugenommen habe, und zwar mit folgendem Befehl:
clc;clear;
%Einlesen der Daten
[nums, txt] = xlsread('test.xls') %Einlesen der Datei
varNames = char(txt(1, ); %Bestimmen der Spaltenüberschriften=Variablennamen
nums sind dann die Zahlenwerte, mit welchen ich Abfragen/ Berechnungen durchführen kann und in txt sind die Spaltennamen aus dem Excelfile.
Kann mir (Anfänger im Matlab-Selbststudium) bitte jemand weiterhelfen, wie ich vorgehen kann? Besten Dank schon im Vorraus.
gruss knocks
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.500
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 13.04.2012, 10:41
Titel:
|
 |
Hallo,
das sollte auch klappen, wenn du die erste Spalte drin lässt:
Dann kannst du die Datumsangaben extrahieren, etwa so:
Oft ist eine Umwandlung in das numerische Datumsformat hilfreich, z.B.:
Grüße,
Harald
|
|
|
knocks |

Forum-Newbie
|
 |
Beiträge: 9
|
 |
|
 |
Anmeldedatum: 12.04.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.04.2012, 15:06
Titel:
|
 |
Hallo Harald
Vielen Dank für die schnelle Antwort. Ich weiss nicht ob die Daten so richtig eingelesen werden, aber wenn ich den oben beschriebenen Code eingebe ergibt sich folgender Output
zuerst kommen die 2 Spalten mit den Werten 1 und 2 (als Matrix in nums)
und dann
Wobei ClosingSPX und PCRSPX die Überschriften der Wertespalten 1 und 2 sind.
txt =
'Date' 'ClosingSPX' 'PCRSPX'
'03.01.2000' '' ''
'04.01.2000' '' ''
'05.01.2000' '' ''
usw.
Was bewirkt die Umformung des Datum? bzw. wie kann ich die numdates wieder als dd.mm.yyyy ausgabe darstellen (z.b. in grafiken)?
Besten Dank für die Hilfe
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.500
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 13.04.2012, 15:13
Titel:
|
 |
Hallo,
die Umformung bewirkt, dass die Daten überhaupt geplottet werden können.
Um die Achsen schön zu formatieren, hilft DATETICK.
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.
|
|