|
|
|
Spaltenweise auslesen von *.log Dateien |
|
| matlabschnitzel |

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 28.09.11
|
 |
|
 |
Wohnort: Stuttgart
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.09.2011, 15:00
Titel: Spaltenweise auslesen von *.log Dateien
|
 |
Hey Leute,
ich habe schon einige Beiträge durchsucht aber letztenendes keine Lösung für mein Problem gefunden.
Ich bin ein Anfänger was MatLab betrifft und vielleicht ist mein Problem für euch ja trival lösbar.
Problem:
Ich habe eine *.log Datei in der sehr viele Messwerte abgelegt sind und möchte diese einlesen.
z.B. sieht die log Datei so aus:
usw.
data = load('logdatei');
funktioniert nicht, da hier in Spalte "textn/2" Buchstaben stehen.
Jetzt würde es ja die Möglichkeit geben "fopen" zu verwenden und dann mit "textscan" weiter zu machen, nur werden hierbei die Daten Zeilenweise rausgeschrieben. Ich hätte es aber gerne Spaltenweise ausgelesen.
Gibt es eine elegante Lösung hierfür? Und was noch besser wäre: nur bestimmte Spalten auszulesen. z.B. "text2" und "textn".
Grüße
der MatLab-Neuling
|
|
|
|
|
|
| Sco |

Forum-Meister
|
 |
Beiträge: 699
|
 |
|
 |
Anmeldedatum: 15.08.10
|
 |
|
 |
Wohnort: Dundee
|
 |
|
 |
Version: 2008a, 2010a
|
 |
|
|
 |
|
Verfasst am: 29.09.2011, 17:35
Titel:
|
 |
Hallo,
| Zitat: |
Jetzt würde es ja die Möglichkeit geben "fopen" zu verwenden und dann mit "textscan" weiter zu machen, nur werden hierbei die Daten Zeilenweise rausgeschrieben. Ich hätte es aber gerne Spaltenweise ausgelesen.
|
Es wird zwar zeilenweise ausgelesen, aber die Ergebnisse werden doch spaltenweise abgespeichert (in einer Cell). Das sollte dann doch so sein wie du moechtest? Um bestimmte Spalten wegzulassen musst du ein * vor den Datentyp setzen (siehe Hilfe von textscan).
Hier mal ein Beispiel (mit 2 Moeglichkeiten) fuer dein gepostetes File:
Du muesstest natuerlich noch die Anzahl der Header Lines auf dein richtiges File anpassen.
Wenn doch noch Fragen verbleiben sollten, dann frag .
MFG
Sco
|
|
|
|
| matlabschnitzel |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 28.09.11
|
 |
|
 |
Wohnort: Stuttgart
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.09.2011, 15:10
Titel:
|
 |
Vielen Dank für die Hilfe.
Für meinen Fall werde ich deine Variante 1 verwenden.
Was mich jetzt noch brennend interessiert ist:
Muss man diese Spaltendefinitionen
immer komplett angeben? Hier in dem kleinen Beispiel ist es ja überschaubar aber ich hab teilweise log Dateien mit über 120 Spalten.
Ist es dann gut eine Schleife zu machen die mir die Stringkette erzeugt?
Oder gibt es irgendeine elegantere Lösung.
Weil 95 mal %f schreiben (copy paste geht natürlich auch ) , einmal %*s und dann wieder x mal %f ist schon lässtig.
Grüße und ein schönes WE
|
|
|
|
| Sco |

Forum-Meister
|
 |
Beiträge: 699
|
 |
|
 |
Anmeldedatum: 15.08.10
|
 |
|
 |
Wohnort: Dundee
|
 |
|
 |
Version: 2008a, 2010a
|
 |
|
|
 |
|
Verfasst am: 30.09.2011, 19:49
Titel:
|
 |
Hallo,
fuer deine Variante koenntest du z.B. sowas machen (50 Spalten)
Die Spalten 3,4,5,10,20,33 und 49 sind vom Typ %*s der Rest %f.
MFG
Marko
|
|
|
|
| matlabschnitzel |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 28.09.11
|
 |
|
 |
Wohnort: Stuttgart
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.10.2011, 19:31
Titel:
|
 |
Hey,
das ist eine wirklich gute Idee.
Vielen Dank für die Hilfe.
Jetzt kann ich wieder ruhiger schlafen. (=
Grüße
|
|
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|