|
Lisa_88 |
Forum-Anfänger
|
|
Beiträge: 26
|
|
|
|
Anmeldedatum: 18.12.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2016b
|
|
|
|
|
|
Verfasst am: 18.12.2017, 14:37
Titel: Time alignment
|
|
Ich hätte eine Frage bezüglich Data Alignment. Und zwar habe ich zwei Datensätze mit unterschiedlichen Zeitpunkten. Datensatz A, hier wurden Daten im 1 Minuten-Intervall aufgezeichnet und Datensatz B, im 15 Minuten-Intervall. Ich würde gerne den Datensatz B zum Datensatz A alignen, und bis zum nächsten Zeitpunkt des Datensatzes B NaN-Values einfügen. Ich habe die knnsearch-Funktion eingesetzt und mich auch bereits herumgespielt, aber ich weiß leider nicht wie ich die NaN-Values dazwischen einfügen kann.
Danke für eure Hilfe.
LG
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 18.12.2017, 15:25
Titel:
|
|
Hallo,
wenn du R2016b oder neuer hast, würde ich
timetable
und
synchronize
empfehlen.
Falls du eine ältere Version verwendest: welche?
Grüße,
Harald
|
|
|
Lisa_88 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 26
|
|
|
|
Anmeldedatum: 18.12.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2016b
|
|
|
|
|
|
Verfasst am: 19.12.2017, 12:03
Titel:
|
|
Hallo,
danke für deine Antwort. Ich habe versucht diese zwei Funktionen eingesetzt, aber ich schaffe es trotzdem nicht die jeweiligen leeren Zeilen mit NaN zu ersetzen. Ich muss auch sagen ich bin ein Neuling was Matlab angeht.
Danke.
LG
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 19.12.2017, 14:19
Titel:
|
|
Hallo,
poste bitte, was du genau versucht hast. Am besten einschließlich eines Datenausschnitts.
Grüße,
Harald
|
|
|
Lisa_88 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 26
|
|
|
|
Anmeldedatum: 18.12.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2016b
|
|
|
|
|
|
Verfasst am: 20.12.2017, 15:04
Titel:
|
|
Hallo,
ich habe bis jetzt die Daten als Tabelle importiert:
Daten sehen so aus:
Habe mehrere Excel-files, welche Daten enthalten die zu unterschiedlichen Zeitpunkten aufgezeichnet wurden. Ich möchte diese unterschiedlichen Daten zu einem File vereinen. Ich hätte damit angefangen die Zeitreihe zu nehmen, welche das kürzeste Zeitintervall anzeigt (hier 1 Minute) und hätte hierzu die Daten mit einem größeren Zeitintervall (2 Stunden) dazualigned. Dort wo nichts gemessen wurde würde ich gerne NaN einfügen. Hier ein Beispiel:
Time[min] Data A Data B
0 70 300
1 80 NaN
2 82 NaN
3 85 NaN
60 90 305
...
Vielen Dank.
LG
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 20.12.2017, 15:15
Titel:
|
|
Hallo,
am besten ist es, wenn du die Daten als Tables importierst (
readtable
, siehe dein anderer Beitrag) und dann mit
table2timetable
in einen Timetable umwandelst. Dann kannst du die Funktion
synchronize
verwenden, die dir dann automatisch einen Table in der gewünschten Form erzeugt.
Grüße,
Harald
|
|
|
Lisa_88 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 26
|
|
|
|
Anmeldedatum: 18.12.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2016b
|
|
|
|
|
|
Verfasst am: 10.01.2018, 12:38
Titel:
|
|
Hallo,
vielen Dank für deine Hilfe. Ich versuche nun die Tabellen in table2timetable umzuwandeln. Bei dem einen Datensatz klappt das ganz gut, beim anderem bekomme ich leider immer einen Error. Hier der Code:
%% Import Data
Datafreq = readtable (Datafreq.xlsx');
Datanfreq = readtable ('Datanfreq.xlsx');
%% Time table
T_freq = table2timetable(Datafreq);
T_nfreq = table2timetable(Datanfreq);
Error:
Input table must contain datetime or duration vector for row times.
Bei den Daten Datanfreq ist die erste Spalte die Zeitangabe in Stunden und beim anderem File habe ich als erste Spalte Datum und Zeit.
Danke.
Lg
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 10.01.2018, 12:43
Titel:
|
|
Hallo,
dann poste doch bitte den Datensatz, bei dem es nicht klappt, bzw. einen Ausschnitt davon.
Grüße,
Harald
|
|
|
Lisa_88 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 26
|
|
|
|
Anmeldedatum: 18.12.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2016b
|
|
|
|
|
|
Verfasst am: 10.01.2018, 12:49
Titel:
|
|
Hey,
hier ein Teil der Daten. Sind zwei Spalten (Zeit und Absorbance).
[list=][/list]
Time [h] Abs
0 3500
24.33 4756
34.25 8967
70.69 100024
84.7 126305
LG
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 10.01.2018, 13:03
Titel:
|
|
Hallo,
wie die Fehlermeldung sagt: in duration umwandeln. Etwa so:
Grüße,
Harald
Zuletzt bearbeitet von Harald am 10.01.2018, 14:45, insgesamt einmal bearbeitet
|
|
|
Lisa_88 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 26
|
|
|
|
Anmeldedatum: 18.12.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2016b
|
|
|
|
|
|
Verfasst am: 10.01.2018, 13:55
Titel:
|
|
Dankeschön, mein Fehler.
Darf ich dich fragen wofür die 0 stehen? Sollen den startzeitpunkt darstellen?
Erhalte nämlich wieder den nächsten Fehler:
Datanfreq.Time = duration(Datanfreq.Time 0, 0);
Datanfreq.Time = duration(Datanfreq.Time 0, 0);
↑
Error: Unexpected MATLAB expression.
Danke nochmals.
LG
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 10.01.2018, 14:45
Titel:
|
|
Hallo,
im Befehl fehlte ein Komma. Ich korrigier das oben.
Die Nullstellen stehen für 0 Minuten und 0 Sekunden, siehe auch Doku von
duration
.
Grüße,
Harald
|
|
|
Lisa_88 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 26
|
|
|
|
Anmeldedatum: 18.12.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2016b
|
|
|
|
|
|
Verfasst am: 10.01.2018, 15:48
Titel:
|
|
Hey,
vielen lieben Dank, ich war mir nicht sicher. Hab das auch ausprobiert aber hatte noch einen anderen Fehler drinnen .
Also bis jetzt läuft alles super und habe auch die synchronize funktion angewendet. Leider bin hier auch auf ein kleines Problem getreten. Und zwar habe ich folgenden Code verwendet:
Aligned = synchronize (Time_freq, Time_nfreq, 'minutely');
Leider passen die Werte nicht überein. Er zeigt mir nicht zum Zeitpunkt wo frequent Daten vorhanden sind die nicht-frequent Daten an. Nur der erste 0.Nullpunkt passt überein.
Könntest du mir bitte hier auch noch kurz helfen?
Vielen lieben Dank.
LG
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 10.01.2018, 15:54
Titel:
|
|
Hallo,
Zitat: |
Könntest du mir bitte hier auch noch kurz helfen? |
An sich gerne, aber dazu bräuchte ich ein reproduzierbares Beispiel (Code + Daten). Bitte die Daten dann auch wirklich so, wie du sie hast (anscheinend Excel). Im Zweifelsfall zippen.
Grüße,
Harald
|
|
|
Lisa_88 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 26
|
|
|
|
Anmeldedatum: 18.12.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2016b
|
|
|
|
|
|
Verfasst am: 11.01.2018, 11:19
Titel:
|
|
Hallo,
danke dir. Hier zuerst der Code:
%% Import Data
Datafreq = readtable ('Datafreq.xlsx');
Datanfreq = readtable ('Datanfreq.xlsx');
%% Time table
Datafreq.Time_h = duration(Datafreq.Time_h, 0,0);
Datanfreq.Time_h = duration(Datanfreq.Time_h, 0,0);
Time_freq = table2timetable(Datafreq);
Time_nfreq = table2timetable(Datanfreq);
Aligned = synchronize (Time_freq, Time_nfreq, 'minutely');
Und ich habe einen Teil der Daten angehängt.
Danke nochmals.
LG
Beschreibung: |
|
Download |
Dateiname: |
Data.zip |
Dateigröße: |
171.93 KB |
Heruntergeladen: |
287 mal |
|
|
|
|
Gehe zu Seite 1, 2 Weiter
|
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 - 2024
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.
|
|