|
|
|
Einlesen von Datenblöcken aus großer .txt Datei |
|
| matlab-anfänger |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.11.2011, 13:41
Titel: Einlesen von Datenblöcken aus großer .txt Datei
|
 |
| |
 |
|
Hallo zusammen!
Ich habe zwar zu dem Thema schon einiges hier im Forum lesen können, aber da ich Matlab-Anfänger bin, blick ich da zum Teil nicht ganz durch. Vielleicht nimmt sich ja jemand die Zeit, mir zu helfen.
Ich habe einen Messdatenreport als Ascii-file vorliegen, der etwa folgendermaßen aussieht:
Der einzulesende Datenblock hat wie oben erkennbar 7 Spalten und soviele Zeilen wie "Anzahl" angibt (hier 3000, kann variieren). Der Delimiter ist scheinbar ein Tab.
Mich interessieren von diesen Daten nur die 3. und 4. Spalte, also Messwert1 und Messwert2, die ich gerne als Matrix oder jeweils als Vektor hätte.
Hilfreich zu wissen ist, dass der Block immer bei Zeile 20 in der .txt Datei beginnt.
Meine Idee wäre, irgendwie den Wert von Anzahl auszulesen, dann ab Zeile 20 alle 3000 Zeilen auszulesen und die Spalten der Messwerte1 und 2 in eine Matrix zu schreiben. Nur wie mache ich das in Matlab? Ich habe mir in der Matlab Hilfe alle Importfunktionen angeschaut, aber mangels Erfahrung bin ich mir nicht sicher, wie ich da dran gehen kann.
Das wäre allerdings nur der erste Teil der Aufgabe. Weiter unten im Messreport liegen noch 3000 (= Anzahl) Felder, die folgendermaßen aussehen, und in eine dreidimensionale Matrix (x*y*Anzahl) geschrieben werden sollen.
Das ist natürlich ein ganz schöner Berg von Daten, daher würde ich gern fragen, ob jemand eine Idee hat, wie man das möglichst effizient einlesen kann. Die .txt Dateien können locker 200mb groß sein. Die Zeile, bei der die Blöcke beginnen, lässt sich leicht bestimmen und der Zeilenabstand zwischen den Blöcken ist immer gleich. Aber wie ignoriert man vor jeder Blockzeile das y1 , y2 etc?
Wichtig ist mir aber in erster Linie der erste Aufgabenteil. Da wäre ich schon sehr dankbar, wenn mir jemand helfen könnte.
Beste Grüße!
|
|
|
|
|
|
| matlab-anfänger |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.11.2011, 14:08
Titel:
|
 |
UPDATE:
Mit dem Importwizard kann ich die ersten gewünschten Daten recht zuverlässig einlesen. ist zwar nicht besonders schön, aber läuft...
|
|
|
|
| soad |

Forum-Century
|
 |
Beiträge: 150
|
 |
|
 |
Anmeldedatum: 10.11.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.11.2011, 14:21
Titel:
|
 |
Hi,
mit Hilfe von TEXTSCAN kannst solche Aufgaben erledigen:
siehe
|
|
|
|
| matlab-anfänger |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.11.2011, 14:53
Titel:
|
 |
Danke vielmals.
Werde ich direkt mal testen und nen bisschen rumbasteln. Wenn weitere Fragen auftauchen, melde ich mich wieder.
|
|
|
|
|
|
|
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.
|
|