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

Zeitvektor 12 und 24 uhr wird mit 0 angezeigt

 

lily

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.07.2014, 12:54     Titel: Zeitvektor 12 und 24 uhr wird mit 0 angezeigt
  Antworten mit Zitat      
Schönen Sonntag zusammen,

ich habe einen Zeitvektor und diesen habe ich mit folgenden Befehl bearbeitet:

Code:

tt = str2num(datestr(datenum(num2str(time),'yymmddhh'),'HH))
 


die Ausgabe von tt ist jetzt leider

Code:

0 1 2 3 4 5 6 7 8 9 10 11 0 13 14 15 16 17 18 19 20 21 22 23 0
 


Kann ich das Format ändern, dass die erste Null, also die Zeit 12 Uhr Mittag, auch als 12 drinnen steht?

Danke schonmal.

glg. lily


Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.07.2014, 13:08     Titel:
  Antworten mit Zitat      
Bist Du es mal Funktion für Funktion von innen nach außen durchgegangen, um zu sehen, an welcher Stelle es genau schief geht?
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.07.2014, 13:20     Titel:
  Antworten mit Zitat      
hallo,

ja. Bei

Code:

num2str(time),'yymmddhh'
 


wird 12 ausgegeben.

Code:

201312310900
201312311000
201312311100
201312311200
201312311300
201312311500
201312311600
 


Danach dann nicht mehr.

glg
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.07.2014, 13:28     Titel:
  Antworten mit Zitat      
Dann wäre mein Tipp, dass datenum die 1200 falsch interpretiert. Guck mal, ob die Ausgabe von datenum bei 12:00 und 0:00 (bzw. 24:00 Uhr) identisch ist. Falls ja, ist datenum schuld - dann müsstest Du da den Formatstring nochmal prüfen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.07.2014, 13:50     Titel:
  Antworten mit Zitat      
hallo,

mit datenum sind alle identisch

Code:

datenum(num2str(time(1:13)),'yymmddhh')

ans =

  1.0e+005 *

   7.381570416666667
   7.381570416666667
   7.381570416666667
   7.381570416666667
   7.381570416666667
   7.381570416666667
   7.381570416666667
   7.381570416666667
   7.381570416666667
   7.381570416666667
   7.381570416666667
   7.381570416666667
   7.381570416666667

 


glg
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.07.2014, 15:17     Titel:
  Antworten mit Zitat      
Was ergibt denn
Code:
diff(datenum(num2str(time(1:13)),'yymmddhh'))
?

Dann bekommt man nur die Differenzen zwischen den Zeiten ausgegeben. Das sollte überall den gleichen Wert liefern, wenn alles richtig ist. Wenn zwei Werte anders sind, hast Du Fehler gefunden.
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.07.2014, 16:03     Titel:
  Antworten mit Zitat      
hallo,

wenn ich diese Zeile eingebe, kommt immer die Differenz 0 raus.
Gibt es eine Möglichkeit, wie ich das Problem (12.00 statt 00.00 für die Mittagszeit) zu lösen?

glg.
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 13.07.2014, 18:20     Titel:
  Antworten mit Zitat      
Hallo

dein Formatstring ist einfach falsch, dein Jahr ist 4-stelling, dagegen in Formatstring ist 2-stelling angegeben

sollte so sein:
Code:

tt = str2num(datestr(datenum(num2str(time),'yyyymmddHHMM'),'HH))
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.07.2014, 18:30     Titel:
  Antworten mit Zitat      
hallo,

danke, so klappt es Smile

glg
 
Harald
Forum-Meister

Forum-Meister


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

die Funktion datevec (5. Rückgabeargument) dürfte das ganze deutlich vereinfachen.

Grüße,
Harald
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.