|
|
Octave textread fügt Zeichen ein -> Problem mit der Date |
|
EMCanonym |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.12.2020, 12:10
Titel: Octave textread fügt Zeichen ein -> Problem mit der Date
|
|
|
|
|
Hallo zusammen,
ich hänge direkt mal das File an, um welches es beim einlesen geht (TEST.txt). Normalerweise ist die Dateiendung ".Result", es ist allerdings nicht möglich, diese hier im Forum hochzuladen. Alle Phänomene beim Einlesen zeigen sich allerdings auch nach der Umbenennung in ".txt".
Die Datei enthält Messdaten einer Software und soll in Octave oder Matlab zur weiteren Verwertung eingelesen werden.
Mit der Funktion xlsread (Excel Dezimaltrennzeichen auf "." gestellt) funktioniert das auch wunderbar [num txt raw] = xlsread(...).
Lese ich allerdings auf der Suche nach Performance-Steigerung mit...
...dann wird zum einen zu Beginn ein Ersetzungszeichen (weißes Fragezeichen auf schwarzer Raute) "erkannt", welches ich selbst in Notepad++ unter der Anzeige aller Zeichen nicht sehe. Des weiteren ist jede zweite eingelesene Zeile eine Leerzeile (auch, wenn ich den delimiter nicht vorgebe).
Greife ich dann weiterhin auf eine einzelne eingelesene Zeile zu, so habe ich zwischen allen Zeichen der Datei ein zusätzliches Zeichen, ein blank space scheint es nicht zu sein.
Hier mein Code-Fragment, um zu meiner Darstellung zu kommen (b enthält dann die erste Zeile der Messdaten und wenn man es ausgibt, dann erkennt man die vermeindlichen Leerzeichen zwischen den Zeichen):
Es ist möglich nun zeilenweise jedes zweite Zeichen zu verwenden, aber nicht zielführend. Bei großen Messdateien dauert das dann deutlich länger, als mit xlsread (es muss ja dann zeilen- und spaltenweise gefiltert werden).
Die mir wichtigsten Fragen:
1. Was liest Octave/Matlab da als erstes (Ersetzungs-)Zeichen ein (a{1}(1))?
2. Warum wird jede zweite eingelesene Zeile eine Leerzeile?
3. Warum habe ich zwischen den einzelnen Zeichen weitere Zeichen, die vorher bei Ansicht in notepad++ nicht vorhanden sind?
4. Gibt es Editoren/Reader, mit denen diese Zeichen sichtbar werden?
Ich freue mich auf Ansätze zur Lösung meines Problems/ zum sauberen Scannen der Datei!!
Beste Grüße,
Marcel
Beschreibung: |
|
Download |
Dateiname: |
TEST.txt |
Dateigröße: |
7.36 KB |
Heruntergeladen: |
283 mal |
Beschreibung: |
|
Download |
Dateiname: |
TEST.txt |
Dateigröße: |
7.36 KB |
Heruntergeladen: |
285 mal |
|
|
|
|
|
EMCanonym |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.12.2020, 14:46
Titel: Antwort
|
|
|
|
|
Hallo nochmal,
ich habe mittlerweile selbst Fortschritte gemacht. Und zwar habe ich mir das HEX-Plugin für notepad++ installiert und mir den HEX-Code angesehen. Dort war dann zu erkennen, dass jede zweite Hex-Zahl ein "00" war.
Mit folgendem Code habe ich dann die Datei als Zeichenkette eingelesen und in HEX konvertiert. Anschließend habe ich die ersten beiden (unbekannten) HEX-Zahlen ignoriert und anschließend jede zweite HEX-Zahl entfernt. Die anschließende Konvertierung in ASCII-Zeichen und ein strsplit (zunächst Wiederherstellen der Zeilenumbrüche, dann Trennen der einzelnen Zeilen) bringt das gewünschte Ergebnis.
Die Performance wird durch das Trennen der einzelnen Zeilen jedoch mit steigender Dateigröße katastrophal. Einziger Vorteil gegenüber der Nutzung von xlsread ist die Unabhängigkeit von Excel und dessen Einstellungen bezüglich der Dezimaltrennzeichen.
Falls jemand noch Vorschläge zur Optimierung der Performance hat, gerne her damit .
Beste Grüße,
Marcel
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 03.12.2020, 14:52
Titel:
|
|
Hallo,
in MATLAB reicht folgendes:
Ob Octave diesen Befehl hat, weiß ich nicht.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
|
|
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 - 2024
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.
|
|