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

textscan ließt nur die erstenbeiden Zeilen aus.

 

Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.12.2009, 13:43     Titel: textscan ließt nur die erstenbeiden Zeilen aus.
  Antworten mit Zitat      
Hallo,

ich habe folgende txt. Datei Struktur

17:15:29.528 Temp= 11.2 Dir= -73.0 Speed(m/s)= 1.9 Mean= 4.1 MAX= 8.6 ErrorCount=12400
17:15:29.637 Temp= 11.3 Dir= -77.0 Speed(m/s)= 1.6 Mean= 4.1 MAX= 8.6 ErrorCount=12400
17:15:29.731 Temp= 11.3 Dir=-109.0 Speed(m/s)= 1.7 Mean= 4.1 MAX= 8.6 ErrorCount=12400
17:15:29.840 Temp= 11.2 Dir= -96.0 Speed(m/s)= 1.5 Mean= 4.1 MAX= 8.6 ErrorCount=12400
17:15:29.934 Temp= 11.4 Dir=-115.0 Speed(m/s)= 1.5 Mean= 4.1 MAX= 8.6 ErrorCount=12400
...

ich möchte diese Datei bis zum ende durcharbeiten.

Code:

file_2 = fopen(filepath,'r');
if file_2~=-1
    B = textscan(file_2,'%*s %*s %*s %*s %*s %*s %f32 %*s %f64 %*s %f32 ErrorCount=%f64');
    fclose(file_2);
else
    errordlg(['The file ' filepath '.txt could not be opened, please check the path.']);
end
 


so wie ich textscan geschrieben habe bekomme ich die entscheidenene Informationen. ABer er ließt nur die ersten beiden Zeilen ein und hört dann ohne Fehler auf!

Warum ist das so?


Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.12.2009, 14:35     Titel:
  Antworten mit Zitat      
Fehler gefunden es ist das Leerzeichen nach dem Dir
 
derOli
Forum-Meister

Forum-Meister


Beiträge: 579
Anmeldedatum: 19.03.08
Wohnort: Leipzig
Version: 2010a
     Beitrag Verfasst am: 09.12.2009, 14:40     Titel:
  Antworten mit Zitat      
Hi,

Das Trennzeichen bei textscan ist ein Leerzeichen, in der dritten Zeile steht zwischen Dir und -109.0 kein Leerzeichen, damit versucht Matlab einen String als float einzulesen und das geht nicht.

Viele Grüße,

der Oli
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.12.2009, 12:45     Titel:
  Antworten mit Zitat      
DANKE

Kann man soetwas adaptiv machen? Das er an dieser Stelle unterscheidet oder diese Stelle Maskiert? Die Daten von "Dir" interessieren mich sowieso nicht!
 
derOli
Forum-Meister

Forum-Meister


Beiträge: 579
Anmeldedatum: 19.03.08
Wohnort: Leipzig
Version: 2010a
     Beitrag Verfasst am: 15.12.2009, 02:51     Titel:
  Antworten mit Zitat      
Hi, dass einzige was mir einfällt, ist jede Zeile einzeln einzluesen und dann mit regexp die einzelnen werte extrahieren.

Viele Grüße,

der Oli
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.