ich lade eine csv-Datei ein und lese dann eine bestimmte Spalte aus ("EyeVector").
Diese Spalte wird dann im workspace als cell-array gespeichert ca. 4000 x 1 cell.
Jede cell dieses arrays hat das Format
'(791.8442, 1071.698, 0.180000439)' entspricht '(x, y, z)'.
Wie schaffe ich es jetzt die einzelnen x,y,z-Werte auszulesen bzw. diese in einzelne Spalten umzuschreiben?
Mein Versuch war folgender, da wird mir aber nur die Anzahl der Einträge angezeigt mit numel, ich möchte aber die Werte in einzelnen Spalten haben und am besten noch benennen.
Was meinst du mit "benennen"? Einen Table könntest du mit array2table erstellen.
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 ;)
ich habe versucht deinen Lösungsansatz einzuarbeiten, aber es klappt bisher noch nicht.
Ich werde daher versuchen mein Problem zu spezifizieren.
Innerhalb der csv-Datei ("main.csv") gibt es eine Spalte mit der Bezeichnung "Coordinates".
Diese lade ich wie folgt ein und bezeichne diese Daten mit "EyeVector"
Code:
data = readtable('main.csv', 'delimiter', {';'});
EyeVector = data.Coordinates;
Jeder Eintrag entspricht dem Format (x, y, z).
Ziel ist ein Plot, wozu ich die x- & y-Werte benötige (scatplot).
Dieser wird über ein Hintergrundbild als eine Heatmap geplottet.
Wie schaffe ich es jetzt die x- & y-Werte in einzelne Spalten aufzuteilen?
Wie schaffe ich es zudem, dass die "infinity"-Zeilen gelöscht werden? Hier konnten keine Daten ermittelt werden.
Noch eine Ergänzung:
einige wenige Zeilen enthalten den Eintrag '-'.
Diese Zeilen muss ich auch löschen, sonst funktioniert die split-Funktion nicht mehr aufgrund fehlender delimiter.
am einfachsten wäre es, wenn du eine Beispieldatei zur Verfügung stellst. Dann kann man genau sehen, welche Probleme es z.B. aufgrund der Formatierung gibt.
Vor allem aber bitte immer dazu sagen, was "es klappt nicht" bedeutet. Bekommst du eine Fehlermeldung? Unerwartete Ergebnisse? Ich sehe erst mal nur, dass es in meinem Beispiel "klappt". Was nun in deinem Beispiel alles anders ist und warum es daher bei dir "nicht klappt", ist äußerst schwer zu erahnen.
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 ;)
und möchte das (beispielhaft für x, analog für y und z):
x
791.844
782.897
446.312
343.789
446.241
444.343
792.622
626.858
611.294
NaN
NaN
563.945
609.814
576.149
NaN
NaN
546.938
576.675
404.989
479.788
489.315
Das Problem sind die fehlenden delimiter ',' in den Zeilen mit "-".
Wie ersetze ich die Zeilen mit "-", damit ich am Ende auch ein NaN Eintrag bekomme?
Ich mache dafür lieber ein neues Thema auf.
Bei meiner Suche habe ich bisher leider keine Lösung gefunden.
Danke erstmal.
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.