Verfasst am: 06.04.2014, 16:34
Titel: Zeitreihe aus Excel, Timeseries synchronisieren
Hallo und einen schönen Sonnstag,
Hoffe ihr könnt helfen, sitze schon das ganze Wochenende daran...
Ich habe ein ein Excelfile mit drei Spalten (Datum, Zeit, Wert), ich habe es geschafft dieses in Matlab zu importieren.
Nun möchte ich aus diesem eine Zeitreihe (Timeseries) erstellen, und zwar so das es Matlab die Spalte Datum und Spalte Zeit als Timestamp hernimmt jeweils mit dem passenden Wert.
Wie mach ich das am besten?
Bis jetzt konnte ich zwar Zeitreihen erstellen aber immer nur so das Matlab VOR der Spalte Datum, eine Spalte Time eingefügt hat, aber das ist ja falsch ich benötige ja das Datum und die Zeit aus dem File. (hoffe das war verständlich)
Bin ein Matlab Neuling, arbeite mich schon seit Freitag abend durch die Dokumentationen, aber irgendwie will es nicht so wie ich es gerne hätte. Der größte Fehler sitzt sicher zwischen Monitor und Sessel, also der Fehler liegt sicher bei mir.
Bitte um Hilfe, vielen Dank!
Gabriel
Data.zip
Beschreibung:
Meine importierten Werte, einmal als "cell", "double" und als Timeseries, die allerdings missglückt ist
hallo 3mg4
ich kann mich jan nur anschließen. code ist immer hilfreich. sihe dazu auch den thread richtig fragen. der ist immer wichtig für neulinge hier im forum.
zu deinem problem:
ich hatte schon einmal sowas ähnliches glaub ich.
http://www.gomatlab.de/messwerte-ve.....07,highlight,datenum.html kannst dir ja mal angucken ob dir das weiter hilft.
_________________
Soweit so gut, nach diesem Code habe ich
Eine Matrix mit meinen Werten (Pertisau2008_Q)
Ein textfile (char) mit jeweils dem Korrekten Datum
und eine Timeseries (tsQ) die allerdings nicht mein Datum verwendet sondern bei 0 Beginnt. Und genau hier liegt der Fehler, mMn.
Wie bekomme ich Matlab dazu das Datum und die Uhrzeit aus dem Excelfile zu nehmen?
Vielen Dank für den Link! Die Suche hat ihn mir nicht ausgespuckt. Werde ihn mir aufmaerksam durchlesen und umsetzten, soweit ich das gesehen habe, die dortige Excelfile hat das selbe Format wie meine, also Datum Uhrzeit in getrennte Spalten. Schaut gut aus!
Vielen Dank und einen Guten Wochenstart!
Gabriel
EDIT:
Ich habe auch Zugang zu einem Windows Rechner mit Excel und Matlab, werde es dort mal mit xlsread versuchen.
Vielen Dank für den Link habe ihn durchgelesen und auch versucht ihn auf mein Beispiel umzustetzen. Leider gibt mir Matlab den Fehler
"Undefined function or variable 'raw'."
Code:
Data{Pertisau2008werte}=nan(size(raw,1)-2,2);
for k=3:size(raw,1)
Data{Pertisau2008werte}(k-2,1)=datenum([raw{k,1},' ',raw{k,2}],'dd.mm.yyyy HH:MM:SS');
end
Data{Pertisau2008werte}(:,2)=cell2mat(raw(3:end,3));
end
Undefined function or variable 'raw'.
Pertisau2008werte ist mein cell array, nach dem import aus Excel
Derzeit Blicke ich überhaupt nicht mehr durch, vl kann mir hier noch jemand einen Tipp geben wie ich es am besten umsetzte das mir Matlab die Zeit und das Datum als Timestamp für meine Time Series hernimmt!
die zeit wird automatisch beim einlesen convertiert. wenn das bei dir nicht der fall sein sollte muss man die 2. zeile vieleicht auch noch konvertieren.
in der variablen zeit sind dann die daten als datenum wert gespeichert. das lässt sich dann zb mit datestr auch wieder zurück schreiben.
_________________
Ich habe es geschafft!
Leider habe ich erst jetzt wieder die Zeit gefunden um an diesem Projekt weiter zu arbeiten. Darum die späte Antwort, verzeiht bitte.
Folgender nächster Schritt steht nun an:
Die beiden Zeitreihen (ts1 und ts2), die leider in unterschiedlichen Zeitintervallen aufgenommen worden sind, zu synchronisieren.
Allerdings so das dass Zeitintervall nicht mehr beliebig groß ist sondern so, dass ich zB für alle 5 Minuten ein Wertepaar (aus ts1 und ts2) habe.
Ist soetwas möglich?
Was ich bisher herausgefunden habe wird es wsl auf den Befehl linerp1 hinauslaufen, aber wie binde ich da meine neue Wunschzeit mit einem Intervall von zB 5 Minuten ein?
Wäre sehr nett wenn ihr ir auch nochmals hilfreiche Tipps geben könnt!
Lg
gabriel
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
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.