WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Zeit vergleichen

 

matlab_gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.02.2013, 09:32     Titel: Zeit vergleichen
  Antworten mit Zitat      
Hallo,

ich habe zwei verschiedene Dateien mit Messwerten, welche jeweils einer Zeit zugeordnet sind. Nun möchte ich beide Dateien vereinigen, sodass zu jedem Zeitpunkt die Messwerte beider Dateien in einer Zeile stehen. Dabei hat eine Datei Messwerte alle Sekunde, die andere Datei unregelmäßig. Gibt es eine Variante, diese möglichst einfach zu vergleichen? Momentan vergleiche ich erst die Zeit, dann die Minuten und Sekunden. Gibt es z.B. bei Zeiten auch eine Funktion ähnlich wie datenum?

Vielen Dank
Franzi


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 18.02.2013, 10:42     Titel:
  Antworten mit Zitat      
Hallo,

du kannst für den Zweck auch datenum verwenden.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Seban
Forum-Meister

Forum-Meister


Beiträge: 600
Anmeldedatum: 19.01.12
Wohnort: ---
Version: ab R2014b
     Beitrag Verfasst am: 18.02.2013, 10:49     Titel:
  Antworten mit Zitat      
Hallo,

Ich würde folgenden Ansatz wählen (angenommen, die Werte liegen in Vektoren/Matrizen gleicher Form vor und es geht nicht mit datenum):
1. Vektoren zusammen führen
2. Sortieren
3. unique verwendbar? Sonst benachbarte Zeiten vergleichen -> logischer Vektor (strcmp?, isequal?, diff?) mit dessen Hilfe Datenvektor anpassen.

Wenn du ein Bsp. deiner Daten angibst, könnte man besser helfen.

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
matlab_gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.02.2013, 11:15     Titel:
  Antworten mit Zitat      
Hallo,
verwende ich datenum, wie von Harald vorgeschlagen, in folgender Art und weise, so erhalte ich für jede beliebige Uhrzeit die selbe Zahl für datenum:
Anbei mein verwendeter Code sowie bespielhaft einige Ausgabewerte dat mit dazugehöriger Zeit aktdat.

Code:
dat=datenum(aktdate,'dd.mm.yy HH:MM:SS');

aktdate =07.02.2013 14:53:13

dat =7.3527e+005

aktdate =07.02.2013 14:53:23

dat =7.3527e+005

aktdate =07.02.2013 14:53:33

dat =7.3527e+005

aktdate =07.02.2013 14:53:43

dat = 7.3527e+005
 
matlab_gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.02.2013, 11:18     Titel:
  Antworten mit Zitat      
Anbei nochmals ein Beispiel meiner zwei Datensätze:

Datensatz 1:
07.02.2013 09:02:24 -7770 -7770
07.02.2013 09:02:34 -7770 -7770
07.02.2013 09:02:44 -7770 -7770
07.02.2013 09:02:53 -7770 -7770
07.02.2013 09:03:03 -7770 -7770
07.02.2013 09:03:12 -7770 -7770


Datensatz 2:
07.02.2013 09:02:24 1 3
07.02.2013 09:02:25 4 4
07.02.2013 09:02:26 1 3
07.02.2013 09:02:28 6 3
07.02.2013 09:02:29 1 5
 
matlab_gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.02.2013, 11:23     Titel:
  Antworten mit Zitat      
sorry, habe gerade festgestellt, dass sich die Zahlen wohl ab der 10. Stelle doch leicht unterscheiden, werde es wohl weiterhin erst mal mit Datenum versuchen! Trotzdem Danke für die Hilfe!
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 18.02.2013, 11:32     Titel:
  Antworten mit Zitat      
Hallo,

nimm doch mal die Differenz zwischen zwei Zeiten. Dann multiplizieren mit 60*60*24 (Anzahl der Sekunden in einem Tag), und du solltest die Differenzn in Sekunden haben.

Was soll man mit der 7770 oder den anderen Zahlen hinter den Zeiten anfangen?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
matlab_gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.02.2013, 11:34     Titel:
  Antworten mit Zitat      
Hallo,

das sind meine dazugehörigen (dummy-)Messwerte, also soweit erst mal für den Zeitabgleich nicht relevant.
 
matlab_gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.02.2013, 12:58     Titel:
  Antworten mit Zitat      
so, eine letzte Frage habe ich noch: ist es möglich, datenum um 1 Sekunde zu erhöhen, d.h. ich habe einen Wert für Datenum und möchte nun den Wert haben, der der Zeit plus 1 entspricht.

folgendes habe ich schon probier:

Code:
date_num=  7.3524e+005
date_str=datestr(date_num)

date_str=02-Jan-2013 10:43:00
dat =01-Jan-0000 00:00:01

datenum(dat)
ans =1.0000
 


habe mir somit also versucht, datenum von 1 Sekunde zu berechnen.

Code:
new_date=test+1.0000
new_date = 7.3524e+005

datestr(new_date)
ans =03-Jan-2013 10:43:00

Es erhöht mir jetzt aber immer den Tag um eines und nicht die Sekunden.

Woran kann das liegen bzw. wie kann ich mein Problem lösen?
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 18.02.2013, 13:52     Titel:
  Antworten mit Zitat      
Hallo,

datenum rechnet in Tagen. Eine Erhöhung um 1s entspricht also eine Erhöhung um 1/(60*60*24) Tage.

Code:
new_date=test+1/(60*60*24)


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
matlab_gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.02.2013, 14:10     Titel:
  Antworten mit Zitat      
vielen Dank! Jetzt funktioniert alles wie gewünscht!
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.