Out of memory Problem bei SEHR großen .txt Daten lesen
Burger
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 20.11.2012, 21:30
Titel: Out of memory Problem bei SEHR großen .txt Daten lesen
Hallo zusammen,
ich habe ein Problem, welches ich dringen lösen muss:
Ich habe für meinen Betreuer ein Programm geschrieben, welches Datenverarbeitung machen soll. dafür müssen zuerst Messgrößen eingelesen werden. Die Daten liegen als .txt Files vor, wobei eine einzelne Spalte genau einer Messgröße entspricht. Gemessen werden mehrere Zyklen hintereinander weg, jeder Zyklus hat 14400 Messdaten und es werden bis zu 800 Zyklen hintereinander aufgezeichnet, ich habe also sehr große Datenmengen (600MB pro .txt File ist keine Seltenheit)
Es werden bis zu 8 Messdaten aufgezeichnet, und das Problem ist, dass mein Betreuer (XP, 32bit Matlab 2012b) die DAten nicht eingelesen bekommt,
Error using internal.matlab.language.isPartialMATArrayAccessEfficient
Unable to read MAT-file
C:\Daten\Hiwi\beta\4000rpm_GB_2012_11_19_0001_mod.txt: not a binary
MAT-file.
Error in matlab.io.matfile.Properties(line44)
obj.SupportsPartialAccess =
internal.matlab.language.isPartialMATArrayAccessEfficient(obj.Source);
ich verstehe zwar, dass das file dass ich einlesen will kein MAT file ist, aber in der doku wird nicht gesagt dass diese funktion nur für .mat files gilt...
kann mir jemand mit erfahrung auf dem gebiet helfen wie ich aus den Rohdaten einzelne Spaltenvektoren einlesen kann ohne die gesamten daten auf einen schlag einlesen zu müssen?
Hier verwendest du eine Funktion für MAT-Dateien mit einer txt-Datei
erstmal Danke dass du dich meiner annimmst!
in der MAtlab doku habe ich gelesen:
"filename can include a full or partial path, otherwise matfile searches for the file along the MATLAB search path. If filename does not include an extension, matfile appends .mat."
auch in dem anderen Forum wurde darauf verweisen dass man auch .txt files einlesen kann. weißt du wie ich das dann machen muss?
ich würde textscan verwenden. Damit kannst du blockweise einlesen und die Größe der Blöcke, die du verwendest, kontrollieren.
Grüße,
Harald
Burger
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 20.11.2012, 23:05
Titel:
Vielen Dank, so hat es geklappt!!
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
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.