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

ISO 8601 einlesen (spaltenweise)

 

shari
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 10.03.11
Wohnort: Tromsø
Version: ---
     Beitrag Verfasst am: 24.06.2011, 14:29     Titel: ISO 8601 einlesen (spaltenweise)
  Antworten mit Zitat      
Hallo,

ich finde leider keine passende Hilfe zu meinem Problem.
Und zwar möchte ich Zeiten im ISO 8601 Format einlesen und dann mit datenum umwandeln.
Das Format meiner Daten sieht folgendermaßen aus (1. Zeile):

2009-12-11T19:00:05.000 50401.108 109188.839 4207.183 0.453 -2.725 -3.769

Also in der ersten Spalte die Zeit und dann noch einige Spalten mit Koordinaten und Magnetfelddaten.
Das Einlesen bereitet mir schon Probleme.
Wenn ich datetime = data(:,1) eingebe, gibt er mir nur 2009, also das Jahr aus.
Also habe ich es anders versucht:
Code:

fid = fopen([filename,'/',dataname,'.dat'], 'r');
datetime = fscanf(fid, '%s23')
datenum('datetime', 'yyyy-mm-ddTHH:MM:SS.FFF')
 

doch nun gibt er mir nur die erste Zeile aus. Wenn ich die 23 weglasse, dann reiht er einfach die ganze Datei aneinander, bis zum Ende (inkl. Koordinaten und Magnetfelddaten).

Wie kann ich ihm also sagen, dass er alle Zeilen einlesen soll und davon immer die ersten 23 Characters?

Achja : was bedeutet eigentlich das 'r' ? Den code habe ich nämlich nur hier im Forum abgeguckt... Embarassed

Ich hoffe, ihr könnt mir helfen! Rolling Eyes
Private Nachricht senden Benutzer-Profile anzeigen


eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 24.06.2011, 14:48     Titel:
  Antworten mit Zitat      
Aus der Hilfe wird man meistens immer schneller schlau: Dort steht zum Beispiel auch auf den ersten Blick, dass 'r' für "read", also nur lesen steht.

Du kannst eine Schleife durch die Zeilen laufen lassen und dann immer mit fgetl() eine jeweils neue Zeile auslesen.
Private Nachricht senden Benutzer-Profile anzeigen
 
shari
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 10.03.11
Wohnort: Tromsø
Version: ---
     Beitrag Verfasst am: 24.06.2011, 14:53     Titel:
  Antworten mit Zitat      
ahh, an eine schleife hab ich ja noch garnicht gedacht! danke Smile
gibt es keinen anderen weg? denn mit schleifen wird das programm ja immer etwas langsamer, oder?
Private Nachricht senden Benutzer-Profile anzeigen
 
eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 24.06.2011, 14:55     Titel:
  Antworten mit Zitat      
Kommt ganz auf das Datenformat an, ich würde das mit den Schleifen nicht verallgemeinern..

Hier ein kleiner Einstieg:

Code:
Private Nachricht senden Benutzer-Profile anzeigen
 
shari
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 10.03.11
Wohnort: Tromsø
Version: ---
     Beitrag Verfasst am: 24.06.2011, 15:01     Titel:
  Antworten mit Zitat      
ok! vielen dank Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Erzieher60

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.08.2013, 17:07     Titel: Loesung zu finden auf File Exchange
  Antworten mit Zitat      
Es gibt auch dieses M-file auf MATLAB File Exchange zum runterladen:

http://www.mathworks.com/matlabcentral/fileexchange/39389

- ISO 8601 Daten in alle drei Stilen (Kalendar / Wochenzahl / Ordinalzahl).
- Voll automatische Erkennung oder mit vorgestimmte Formattierung die Daten-String einlesen.
- Als Output beide eine DateNum und die uebriggebliebene Stringteilen.
 
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.