Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   
Bücher:

Studierende:
Werkstudent (m/w) in der MATLAB-Entwicklung
Branche: Luft-, Raumfahrttechnik, Dienstleistungen
univativ GmbH & Co. KG - Hamburg

Praktikant (m/w) Entwicklung Funkpeiltechnik
Branche: Mess-, Regel-, Automatisierungstechnik, Telekommunikation, Nachrichtentechnik
ROHDE & SCHWARZ GmbH & Co. KG - München

Intern (m/f) System development for antenna measurement systems
Branche: Mess-, Regel-, Automatisierungstechnik, Telekommunikation, Nachrichtentechnik
ROHDE & SCHWARZ GmbH & Co. KG - München

Werkstudent (m/w) High End GNSS Simulation mit modernsten Signalgeneratoren
Branche: Mess-, Regel-, Automatisierungstechnik, Telekommunikation, Nachrichtentechnik
ROHDE & SCHWARZ GmbH & Co. KG - München

Praktikant (m/w) zur Unterstützung von Wellenformintegration und Wellenformtest
Branche: Mess-, Regel-, Automatisierungstechnik, Telekommunikation, Nachrichtentechnik
ROHDE & SCHWARZ GmbH & Co. KG - München

weitere Angebote

Partner:


Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Umwandeln eines Vektors in Zeitformat

 

Sophia15
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 26.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.11.2017, 15:01     Titel: Umwandeln eines Vektors in Zeitformat
  Antworten mit Zitat      
Hallo Leute,

ich bin absoluter Matlab Neuling und bin beim Einlesen einer ASCII-Datei auch direkt auf das erste Problem gestoßen.

In meiner ASCII-Datei wird das Zeitformat wie folgt angegeben: 19600101.01 (Jahr/Monat/Tag/Stunde). Wenn ich die Datei in Matlab importierte, werden die Daten in das folgenden Format umgewandelt: 1.960010101000000e+07. Ist es möglich dieses Format in ein Zeitformat umzuwandeln, sodass Matlab die Eingabe auch als Zeit erkennt?

Vielen Dank für Eure Hilfe! Smile
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 17.801
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2014a
     Beitrag Verfasst am: 26.11.2017, 21:51     Titel:
  Antworten mit Zitat      
Hallo,

wie importierst du die Datei denn?
Wenn du z.B. textscan verwendest, musst du im Formatstring das verwendete Datumsformat angeben.

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

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 26.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.11.2017, 13:40     Titel:
  Antworten mit Zitat      
Hallo Harald,

vielen Dank schon mal für deine Antwort. Ich habe es jetzt immerhin schon mal hinbekommen, dass die Zeile im gleichen Format wie in der Ausgangsdatei angezeigt wird, indem ich im formatSpec die Zuordnung zu %s geändert habe.

Hier mein Code:
Code:
formatSpec = '%s%f%f%f%f%[^\n\r]';
fileID = fopen(filename,'r');

dataArray = textscan(fileID, formatSpec, 'Delimiter', delimiter, 'MultipleDelimsAsOne', true, 'TextType', 'string', 'EmptyValue', NaN, 'HeaderLines' ,startRow-1, 'ReturnOnError', false, 'EndOfLine', '\r\n');
fclose(fileID);


Ist es jetzt auch noch möglich ein richtiges Zeitformat zu erstellen?

Viele Grüße
Sophia
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 17.801
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2014a
     Beitrag Verfasst am: 27.11.2017, 14:27     Titel:
  Antworten mit Zitat      
Hallo,

statt %s wirklich das Datumsformat angeben, etwa so:

Code:
data = textscan('19600101.01', '%{yyyyMMdd.HH}D')
data{1}.Format = 'dd.MM.yyyy HH:mm'


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

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 26.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.11.2017, 14:55     Titel:
  Antworten mit Zitat      
Hallo,

ich bin leider wirklich kompletter Matlabanfänger und weiß daher nicht genau wie ich das jetzt in den bereits vorhandenen Code mit einbringen kann. Habe gerade mal mehrere Möglichkeiten ausprobiert, das funktioniert aber leider nicht.

Danke!
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 17.801
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2014a
     Beitrag Verfasst am: 27.11.2017, 16:05     Titel:
  Antworten mit Zitat      
Hallo,

intuitiv würde ich sagen, die erste Zeile abändern
Code:
formatSpec = '%{yyyyMMdd.HH}D%f%f%f%f%[^\n\r]'


und optional
Code:
dataArray{1}.Format = 'dd.MM.yyyy HH:mm'


Ob das funktioniert, kann ich schlecht sagen, da ich die verwendete Datendatei nicht habe.

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

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 26.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.11.2017, 16:52     Titel:
  Antworten mit Zitat      
Klappt super, vielen Dank! Smile
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Nutzungsbedingungen  | Datenschutz  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2018 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.