Verfasst am: 21.06.2017, 15:08
Titel: Excel Datum stimmt in Matlab nicht mehr
Hallo,
ich will eine Ganglinie mit Messwerten ergänzen. Hab alle Datensätzen als .xlsx.
1. Ich lese meine Tabellen ein
2. Ich generiere den Datumsstempel
soweit alles gut.
Aber in excel beginnt meine Reihe am 1.4.17 in Matlab am 1.1.17. und ich bekomme das einfach nicht gefixt
Code:
if ~exist('gang') [pres,dates,raw]=xlsread('C:\Users\jetzl\Desktop\Bachelorarbeit\Daten\Matlab\ganglinie_april.xlsx');
end
pres = pres*10^5; %in PA
short = (cellfun('length', dates) == 10);
dates(short) = strcat(dates(short), '00:00:00');
wenn du einen Beispieldatensatz zur Verfügung stellen kannst, in dem das Problem auftritt, ist das sehr hilfreich.
Was hat der untere Code mit dem oberen zu tun? Die Variablennamen stimmen da ja gar nicht überein.
Grüße,
Harald
Val
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 21.06.2017, 15:23
Titel: Excel Datum stimmt in Matlab nicht mehr
Ich dachte der Teil mit dem plot veranschaulicht was ich am Ende mit den Daten vorhabe. Der plot ansich funktioniert auch. Nur mit dem falschen Zeitstempel macht das keinen Sinn.
So sieht das ganze in Excel aus
01.04.2017 00:00 0.0206
01.04.2017 00:15 0.0205
01.04.2017 00:30 0.0205
01.04.2017 00:45 0.0205
01.04.2017 01:00 0.0205
01.04.2017 01:15 0.0205
01.04.2017 01:30 0.0205
01.04.2017 01:45 0.0205
01.04.2017 02:00 0.0205
01.04.2017 02:15 0.0205
01.04.2017 02:30 0.0204
01.04.2017 02:45 0.0205
01.04.2017 03:00 0.0204
01.04.2017 03:15 0.0205
01.04.2017 03:30 0.0204
01.04.2017 03:45 0.0204
01.04.2017 04:00 0.0204
01.04.2017 04:15 0.0204
01.04.2017 04:30 0.0204
01.04.2017 04:45 0.0204
01.04.2017 05:00 0.0204
01.04.2017 05:15 0.0204
01.04.2017 05:30 0.0204
01.04.2017 05:45 0.0204
01.04.2017 06:00 0.0204
01.04.2017 06:15 0.0204
01.04.2017 06:30 0.0204
ich kann den Datensatz leider nicht anhängen...
Ich dachte der Teil mit dem plot veranschaulicht was ich am Ende mit den Daten vorhabe.
Ich sehe da auf den ersten Blick keinen Zusammenhang.
Zitat:
ich kann den Datensatz leider nicht anhängen...
wenn du ihn zippst, dann schon.
Zitat:
Bei den Messungen zur Ergänzung steht als Datum 00.01.0000
Das verstehe ich nicht.
Grüße,
Harald
Val
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 21.06.2017, 15:43
Titel: Excel Datum stimmt in Matlab nicht mehr
Die Daten der Zeitreihen sind Drücke bzw Abflüsse die (nach dem umwandeln) gemeinsam geplottet werden sollen. Aber ich auch gar nicht so wichtig.
Bei der einen Excel Tabelle (der Drücke) wird aus dem 1.4 der 1.1 bei den weiteren (Abfluss) beginnt die Auflistung in Matlab mit 00.01.0000 statt mit dem 28.4.
Ich hoffe der Anhang funktioniert. Das ist der Datensatz der im Matlab mit 00.01.0000 ausgegeben wird
Verfasst am: 21.06.2017, 16:02
Titel: Excel Datum stimmt in Matlab nicht mehr
Ach und die "große Zeitreihe" geht vom 01.04.2017 00:00 bis 30.04.2017 00:00.
Ich vermute, dass man eine Art Referenzpunkt angeben muss, aber leider finde ich online nicht wirklich was dazu. Mein Betreuer weiß nicht was da los sein soll und am Montag muss ich die Auswertung in meiner BA-Präsentation beurteilen... Ich bin echt um jede Idee dankbar!!!
Wenn dir das nicht weiterhilft, dann bitte mal wirklich ein reproduzierbares Beispiel posten. Je dringender es ist, desto mehr sollte man darauf achten, alle relevanten Infos zu posten und auf Rückfragen einzugehen. Das erleichtert das (hilfreiche) Antworten ungemein.
Grüße,
Harald
Val
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 21.06.2017, 18:10
Titel:
Danke für die Antwort. Ich tu mich ein bisschen schwer mit dem erklären aber ich versuche es mal für eine Zeitreihe.
Ich habe einen Datensatz(den oben angehängten), und ich möchte den Messwert und zugehörigen Zeitstempel ggü stellen. ich hab das ganze so eingelesen und verarbeitet:
Code:
if ~exist('adc') [adc,txtdata,raw]=xlsread('C:\Users\jetzl\Desktop\Bachelorarbeit\Daten\Wehr1(groß)\matlab_adc');
end
Datuma=datestr(adc(:,1),'dd.mm.yyyy HH:MM');
und am ende stimmt das Originaldatum und das Matlabdatum nicht überein. Bei deinem Vorschlag bekomme ich folgende Fehlermeldung:"Error using datestr (line 177)
Cannot convert input into specified date string.
DATENUM failed."
Ich hab in Matlab noch nie mit Zeitreihen gearbeitet und bin echt überfordert... tut mir leid, wenn meine Frage zu unverständlich ist :/
VG
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 21.06.2017, 18:21
Titel:
Nachtrag: mit deiner Version hab ich leider das selbe Problem....
Aber schon mal danke fürs gedanken machen!
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 21.06.2017, 19:14
Titel:
Nun konnte ich das Problem doch noch lösen
Code:
if ~exist('gang') [pres,dates,raw]=xlsread('C:\Users\jetzl\Desktop\Bachelorarbeit\Daten\Matlab\ganglinie_april.xlsx');
end
short = (cellfun('length', dates) == 10);
dates(short) = strcat(dates(short), '00:00:00');
dat=cell(dates);
Das ist nicht sinnvoll, da adc numerische Werte enthält.
Zitat:
Nachtrag: mit deiner Version hab ich leider das selbe Problem....
Ich habe den Code so getestet, und er lief. Dann wirst du irgendetwas anders machen. Was, kann ich nicht beurteilen, wenn du das nicht postest.
Sollte das Problem in verkürzten Datumsstempeln gelegen haben, dann war es denkbar ungeschickt, dass die zur Verfügung gestellte Datei nur lange Datumsstempel enthielt.
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
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.