Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   
Bücher:

Fachkräfte:
Informatiker (m/w) für den Bereich Toolkette Embedded Software
Weiterentwicklung einer MATLAB- / Simulink-Toolkette
cbb-Software GmbH - Stuttgart

Softwareentwickler (m/w) automatische Codegenerierung
Umsetzung, Neuprogrammierung und Weiterentwicklung in Simulink, TargetLink und C
EFS - Ingolstadt, Wolfsburg

Ingenieur (m/w) für den Bereich modellbasierte Embedded-Softwareentwicklung
Integration von Simulink-Modellen auf die Ziel-Hardware (mit TargetLink) sowie Durchführung von Softwaretests
cbb-Software GmbH - Stuttgart

Softwareentwickler (m/w) Toolentwicklung / -automatisierung
Konzeption, Analyse und Erarbeitung von Lösungsvorschlägen anhand von Kundenanforderungen
Elektronische Fahrwerksysteme GmbH - Ingolstadt

Software Testingenieur (m/w)
Planung, Design und Review von Testaktivitäten und -szenarien
HOPPECKE Batterien GmbH & Co. KG - Brilon-Hoppecke

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-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 26.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.11.2017, 16: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: 18.520
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2014a
     Beitrag Verfasst am: 26.11.2017, 22: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-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 26.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.11.2017, 14: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: 18.520
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2014a
     Beitrag Verfasst am: 27.11.2017, 15: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-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 26.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.11.2017, 15: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: 18.520
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2014a
     Beitrag Verfasst am: 27.11.2017, 17: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-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 26.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.11.2017, 17: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.