Das ist mein erster Forumseintrag hier darum erstmal:
Hallo Leute!
Vielen Dank für die zahlreichen Male bei denen mir dieses Forum schon geholfen hat, ohne dass ich etwas posten musste. Diesmal ist es leider anders, ich kann mein Problem mit der Suche nicht vollständig lösen!
Worum gehts? Ich muss Daten auswerten, die leider etwas ungewöhnlich abgelegt wurden:
Ein 27 Zeilen langer header, dessen Inhalt nicht gespeichert werden muss Danach gehts so weiter:
String
Leerzeichen Kommazahl Leerzeichen
(^ wiederholt sich ca 4000 mal - Anzahl bekannt und fix)
String
Leerzeichen Kommazahl Leerzeichen
(^ wiederholt sich ca 4000 mal - Anzahl bekannt und fix)
.
.
.
siehe Attachment.
Ich habe schon verschiedene Lösungen (importdata, textread, load. etc.) probiert und scheitere spätestens daran, wenn ich ein 32kx1 großes "Cell-Array" das mit "Char"s gefüllt ist vorliegen habe. Ich bräuchte lediglich Zugriff auf die Werte als double und nicht char in dem File. Diese können ruhig alle hintereinander aufgelistet werden, ohne die Strings die dazwischen stehen. Die Daten kann ich ja dann, da Anzahl bekannt, durch simples abzählen wieder logisch trennen.
Hoffentlich habe ich mein Problem ausreichend genau geschildert!
Dank auf jeden Fall schon im Vorfeld an alle die bis hierher gelsen haben!
ich denke mal Dein Problem ist das leidige Komma statt Dezimalpunkt.
Falls es kein Problem ist, wenn auch im Header/String die Kommas durch Punkte ersetzt werden, kannst Du folgende Funktion (comma2point) aus dem Forum verwenden:
Hallo, Danke für deine Antwort! Leider habe ich die gleichen Probleme wenn ich das File vorher im Texteditor bearbeite und alle Kommas mit Punkten ersetzen lasse.
Ich habe zwischenzeitlich schon versucht den Header händisch im Texteditor zu löschen. Das Problem ist dann, dass ich auch während des Files "strings" in den daten habe. Leider habe ich sehr viele solcher Files, daher ist das händische rauslöschen keine wirkliche Option.
Ich habe mir schon eine Vorgangsweise überlegt die funktionieren könnte, nur weiß ich nicht wie ich sie umsetzen kann:
Beim Einlesen Header auslassen (Funktioniert bei mir nicht richt, anscheinend wird Matlab dadurch gestört, dass der Delimiter auch im Header vorkommt)
dann 1. Spalte = String, 2. Spalte = double, 3. Spalte = egal da eh keine Zeichen drinnen stehen
textscan macht immer dort weiter wo es aufgehört hat (weil das Format nicht mehr stimmt). Damit könntest Du um den textscan Teil herum eine Schleife bauen und die Daten blockweise einlesen.
dann hast Du eine zu alte MATLAB Version. memmapfiles sind mit MATLAB 7.0.4. R14SP2 dazugekommen.
Du hast ja geschrieben, dass Du eine Datei hast, in der Kommas durch Punkte ersetzt wurden. Hast Du mit der Datei wenigstens den zweiten Teil ausprobiert? Liefert es das passende Ergebnis?
Hallo!
Sorry, hab gestern schlecht gearbeitet, mir ist ein ziemlich peinlicher Fehler passiert (hatte irgendwann im händisch geänderten file blanks durch ; ersetzt, darauf vergessen und nicht mehr nachgesehen) Bin erst heute draufgekommen
Ich erhalte mit deiner Methode zwei 1x1 Cell-arrays die ich mit
im format double verwenden kann. Ab da komm ich alleine weiter.
Vielen Dank für deine TOP Unterstützung!
lg, navpp
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.