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

Integervalues als Zeiteinheiten angeben

 

Hampnie
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 16.01.15
Wohnort: ---
Version: 2013b
     Beitrag Verfasst am: 13.02.2015, 13:46     Titel: Integervalues als Zeiteinheiten angeben
  Antworten mit Zitat      
Liebe Matlaber,

ich habe in einem mat file zeitstamps als integer angegeben zb. 92604. 92516 etc. möchte diese aber als 9:26:04, 9:25:16 einlesen. Welchen Befehl gibt es hierfür? Grund für diese Frage ist nämlich, ich möchte die Differenz von 2 verschiedenen zeiten zb. 9:26:04 und 9:25:16 herausfinden und diese in sekunden anzugeben (glaube da wird mir die funktion "etime" weiterhelfen)

Wäre sehr erfreut über einige Denkanstößen, da ich mit meinem Latein allmählich am Ende bin

Lg Hampnie
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: 15.02.2015, 22:59     Titel:
  Antworten mit Zitat      
Hallo,

So dürfte es gehen:
Code:
a = [92604; 92516];
b = num2str(a);

hlp = [];
for ii = 1:size(a,1)
    hlp = [hlp; ':'];
end

c = [b(:,1), hlp, b(:,2:3), hlp, b(:,4:5)];


Kennst du serial date numbers und hast ausgeschlossen, dass deine Zeitangaben solche sind? Wenn es welche wären, dürfte dein Vorhaben leichter umzusetzen sein.
http://de.mathworks.com/help/matlab.....me-as-numeric-values.html
http://de.mathworks.com/help/matlab/ref/datenum.html
http://de.mathworks.com/help/matlab/ref/datestr.html

Grüße,
Seban
_________________

Richtig fragen
Debugging
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 16.02.2015, 11:54     Titel:
  Antworten mit Zitat      
Hallo Seban,

Das iterative Vergrößern eines Arrays ist massiv teuer und sollte unbedingt vermieden werden:
Code:
hlp = [];
for ii = 1:size(a,1)
    hlp = [hlp; ':'];
end

Besser:
Code:
hlp(1:size(a,1), 1) = ':';

Oder REPMAT.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 16.02.2015, 11:57     Titel: Re: Integervalues als Zeiteinheiten angeben
  Antworten mit Zitat      
Hallo Hampnie,

Die Umwandlung in einen String und Rückumwandlung in Zahlen ist ein ziemlicher Umweg. Wie wäre es die Anteile direkt zu extrahieren:
Code:
d = 92604;
s = rem(d, 100);
m = rem(floor(d / 100), 100);
h = rem(floor(d / 10000), 100);
d_in_sec = s + 60*m + 3600*h;
 

Diese Zahlebn kannst Du jetzt einfach subtrahieren.

Gruß, Jan
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: 17.02.2015, 18:36     Titel:
  Antworten mit Zitat      
Danke für den Hinweis, Jan.
_________________

Richtig fragen
Debugging
Private Nachricht senden Benutzer-Profile anzeigen
 
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.