ich kann bei einem bekannten so lange er nicht da ist, sein Matlab benutzen.
Version Matlab 2014b
ich habe eine CSV Datei die von einem "Lichtschnitt Scanner" oder wie man das auch immer nennt generiert wurde.
Jetzt möchte ich die Daten anzeigen lassen (so das ich das was abgescannt wurde mir im 3D Raum anschauen kann).
leider hatte ich im Falschen Forum schon mal gefragt:
Zitat:
ich habe meine "replay.csv" dort geladen dann ist ein Extra Fenster aufgegangen in dem ich alle Daten als eine Tabelle gesehen habe, dort konnte ich dann auch einen Bereich markieren, warum ich daraus dann eine Script erstellen kann habe ich noch nicht verstanden.
Meine Frage ist eigentlich dahingehend kann ich in dem Fenster auch angeben was meine X, Y und Z Achse ist, und mir die Daten als Bild anzeigen lassen? bzw. einen Script generieren lassen damit ich das Bild anzeigen lassen kann?
dahinraffe bekomme ich auch eine Antwort, doch mit der kann ich nicht so viel anfangen
Harald hat Folgendes geschrieben:
Hallo,
das Import Tool ist ausschließlich für den Variablenimport. Die Option "Generate Script / Function" ermöglicht es, daraus Code zu generieren, um das in automatisierte Workflows einzubinden.
Zur Visualisierung kannst du im Workspace Browser eine oder mehrere (mit Strg + Klick) Variablen markieren, und dann per Rechtsklick die Visualisierungsoptionen anschauen.
Fragen zu MATLAB bitte in Zukunft in einen eigenen Thread. Ich zumindest schaue normal nicht in Threads im Octave-Forum, da ich selber nur mit MATLAB arbeite.
Grüße,
Harald
Wenn Ihr mir etwas unter die Arme greifen könntet, wäre ich euch sehr dankbar.
wenn ich das aus dem anderen Thread richtig entnehme, ist die Frage letztlich, wo man die Variablen selectieren kann. Der "Workspace Browser" ist das Teilfenster, in dem die momentan aktiven Variablen angezeigt werden. In seiner linken oberen Ecke steht auch "Workspace".
Wo genau sich dieses Fenster befindet, hängt von deinen Desktopeinstellungen (unter HOME --> Layout) ab. Sollte dort bei Workspace kein Haken sein, dann anklicken.
Um ein grundlegendes Verständnis für MATLAB zu entwickeln, kann es hilfreich sein, das "Getting Started" (http://www.mathworks.com/help/matlab/getting-started-with-matlab.html) durchzuarbeiten.
ich versuche gerade die Datei "replay.csv" in einem "mesh" oder "surf" auszugeben.
Wie du es richtig gesagt hast muss ich die Variablen natürlich noch füllen.
und dann das gesamte auch noch in ein Script bekommen.
Code:
- Laden replay.csv
- csv Bereiche für Variablen definieren.
Das ist die Echte Musterdatei in der Größe von 9.3 MB als ZIP.
EDIT:
mit dem Import Tool meinst du das (Roter Pfeil)
Das hatte ich ja schon offen und, bin mir aber nicht sicher wie ich das machen muss.
1. Daten einlesen (Extra Fenster Öffnet sich, das Import Tool Roter Pfeil)
2. alle Y Werte Markieren
3. Variable Names Row = 1
4. IMPORTED DATA ?? was muss ich hier wählen, denn die Y Werte sind ja nur ein mal definiert)
5. unimportable Cells = so lassen wie es ist.
6. Import Selection ??
ich komme da nicht so ganz klar mit
Bildschirmfoto 2014-12-29 um 14.17.06.png
Beschreibung:
Das hatte ich ja schon offen und, bin mir aber nicht sicher wie ich das machen muss.
bitte entschuldige das ich mich nicht mehr zurück gemeldet habe, jedoch ist das bei mir alles ein Privates Projekt (kein Studium / Schule / Arbeit etc.) und ich kann nicht immer so viel zeit dafür am Stück aufbringen daher geht das bei mir etwas Schleppend voran.
deinen Code habe ich getestet, jedoch läuft er ohne Fehlermeldung durch doch ich kann mit den Variablen nichts anfangen, und ich kann auch keine Figur anzeigen damit
Habe mich mit dem Import Tool noch mal befasst,
und alle Werte X, Y und Z jeweils als Script erstellen lassen, und dann in eine Test.m zusammen gefügt,
ich bekomme schon mal ein Ergebnis jedoch noch nicht so wie ich mir das vorstelle
ich habe den Eindruck das ich mir da viel zu viel vorgenommen habe, und
werde das besser auf eins legen, denn wenn ich daran denke das ich mit dem Darstellen schon Probleme habe wie soll das erst werden wenn ich Berechnungen in den Daten anstellen möchte?
das klappt ja dann mal gar nicht.
denn was ich eigentlich machen möchte ich ist in den Daten Wendepunkte berechnen um dann ein Pfad daraus zu erstellen mit dem ich eine Fräße an steuern lassen kann.
leider sind meine Muster Daten alle Flach auf einem Tisch aufgelegen, in echt sind die leicht gewölbt so das der "Blaue" Wendepunkt nicht auf einer Ebene ist
Die Blauen Wendepunkte sollen so später auf alle Linien hin ein Pfad ergeben.
z.B. so sieht das z.B. aus, die Blauen und Roten kreise möchte ich ermitteln,
und die Blauen kreise sollen später den Roten Pfad im oberen 3D Bild ergeben.
doch ich kann mit den Variablen nichts anfangen, und ich kann auch keine Figur anzeigen damit
Je konkreter deine Angaben sind, desto eher kann man dir helfen.
Ich habe jetzt mal in den anderen Thread geschaut und die Datei angeschaut. Ist ja kein Wunder, dass der Code mit der Datei nicht funktioniert, da die Datei ein anderes Format hat als du am 29.12.2014, 11:55 angegeben hast. Das müsstest du also entsprechend anpassen.
Zitat:
denn wenn ich daran denke das ich mit dem Darstellen schon Probleme habe wie soll das erst werden wenn ich Berechnungen in den Daten anstellen möchte? das klappt ja dann mal gar nicht.
Berechnungen sind häufig deutlich einfacher als aussagekräftige Darstellungen, insbesondere wenn es um mehrdimensionale Daten geht.
Die folgenden Erklärungen dessen, was du machen willst, verstehe ich leider nicht.
Wenn du das meinst, dann probiere ich das noch mal.
1. Visualisierung
- 3D anzeige so wie in dem Bild im vorherigen Post
- Das 3D Gebilde kann mit der Maus gedreht werden
2. Interpretation der Fehlenden Daten
- Hoffe das es hier ein Fertiges Tool gibt
2. Berechnungen
- Möchte die Rillen finden
- Die Rillen sollen dann zu einem Pfad zusammen gefügt werden
so das eine Fräße das nacharbeiten kann
so jetzt aber erst mal zu 1.
mit dein Code ist zwar super klein doch ich verstehe nicht was der macht
EDIT: ich habe das ja mit dem Import Tool versucht.
das ist der Code dazu:
aus Platzgründen habe ich hier im Forum beim formatSpec alles mit (CR) in der Zeilenlänge gekürzt.
wollte eigentlich das Bild oben aus dem Beitrag raus nehmen bzw. durch ein etwas Kleineres ersetzen geht aber nicht mehr
Code:
%Daten Lesen und ausgeben - versuch über das Import Tool
den generierten Code des Import Tools würde ich eher als Black Box sehen, d.h. es macht das, was es macht, und gut.
Hier ein paar Kommentare zu meinem Code-Vorschlag:
Code:
% Datei öffnen
fid = fopen('replay.csv');
% angenommene Dateistruktur: 4 Strings, die ignoriert werden können, gefolgt von 24 Zahlen, die eingelesen werden sollen
fmt = [repmat('%*s ', 1, 4), repmat('%f ', 1, 24)];
% Einlesen der Datei mit diesem Format. Die ersten 7 Zeilen werden ignoriert.
data = textscan(fid, fmt, 'Headerlines', 7);
fclose(fid);
% Sammeln der Daten
data = cell2mat(data);
% Aufspalten in X, Y, Z (
X = data(2:end,1);
Y = data(1, 2:end);
Z = data(2:end, 2:end);
Ansonsten müsstest du schon konkrete Fragen stellen, was du nun an dem Code nicht verstehst.
Oft hilft es auch, unabhängige Fragen in verschiedenen Threads zu stellen. Es ist unwahrscheinlich, dass sich jemand noch in einen Thread mit bereits 8 teils langen Beiträgen einliest um zu schauen, ob er da noch irgendwas beitragen kann.
es wird ein scan gemacht Basis ist die Datei: fid
Das Format des scan`s ist: fmt
was ist das "Headerlines"
und dann die ersten 7 zielen werden ignoriert
Jetzt ist wahrscheinlich die Matrix erstellt worden mit Inhalt ? in der nur noch die Relevanten Daten drin sein sollen?
durch das Format werden die ersten 4 Zeichen jeder Zeile ignoriert und der Rest (soviel %f im Format vorhanden) wird dann in die Matrix geschrieben und alles ist mit "," getrennt wie im Format Spring auch?
ist das soweit Richtig?
bei mir ist x, y und z alle auf NaN
EDIT:
habe hier noch mal die besagte Muster Datei angehängt.
und auch noch mal grafisch dargestellt welche werte wo zubinden sind in der Datei.
EDIT:
habe das jetzt mal etwas zerlegt, um es nachzuvollziehen, doch egal was ich mache bekomme ich immer nur NaN in den Zellen angezeigt warum ??
das ist der einfache Code mit den ich gearbeitet habe:
ich würde dich sehr bitten, die Dokumentation der einzelnen Funktionen genau zu lesen. Letztlich würde ich dir nämlich genau das schreiben, was dort auch steht, z.B.
Zitat:
kompletter Inhalt der Datei wird in die Variable fid geladen
nein, es wird lediglich eine Referenz auf die Datei erstellt.
Zitat:
was ist das "Headerlines"
und dann die ersten 7 zielen werden ignoriert
Ich würde es so sagen: 'Headerlines', 7 ist ein Parameter-Wert - Paar, das angibt, dass zu Beginn 7 Zeilen übersprungen werden sollen.
Zitat:
durch das Format werden die ersten 4 Zeichen jeder Zeile ignoriert
die Y werte stehen in Zeile 12
ab Zeile 12 kommen dann die Z werte
die ersten 9 Zellen (Zeichenketten) sollen ignoriert werden.
da die Datei in einer Excel Tabelle bis zur Zelle (ZL) geht und das insgesamt 688 Zellen machen würde habe ich 688-9(zu ignorierende Zellen) angegeben um alles einzulesen.
jedoch bekomme ich immer bei allen nur "NaN" angezeigt
irgend was geht doch da schief
ich verstehe da nichts warum bekomme ich in der Variable Samlung immer keine werte angezeigt
das ist doch sch...
_________________
--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
sorry wenn ich mich wiederhole, aber du musst wirklich mal die Dokumentation der Funktionen lesen - und wenn etwas nicht funktioniert, dann halt zur Not auch mal komplett von oben bis unten. Das ist auch mir nicht erspart geblieben, bis ich mir eine gewisse Erfahrung angeeignet hatte.
Hier ist das Problem, dass man das Trennzeichen explizit angeben muss, wenn es nicht Leerzeichen oder Tabulator ist:
Code:
data = textscan(fileID, formatSpec, 'Headerlines', 11, 'Delimiter', ',');
siehe Beschreibung der Option 'Delimiter' in der Doku von textscan.
Weiter unten ist sogar ein Beispiel zum Lesen einer csv-Datei ("Specify Delimiter and Empty Value Conversion"), das die Verwendung dieser Option zeigt.
Auch der Code, den du dir mit Import Tool generiert hast, verwendet diese Option.
Ich habe auch Visualisierungsversuche gemacht, was bei meinem alten Aldi-Rechner zuhause bei dieser Datenmenge allerdings leider gescheitert ist. Wenn das bei dir genau ist, bleibt an sich nur, die Daten geeignet vorzuverarbeiten. 10000 Datenpunkte in einer Dimension bringt ja ohnehin nichts, da das allein schon an der Bildschirmauflösung scheitert.
was würde ich nur ohne Dich machen, ohne dich hätte ich Matlab schon lange den Rücken gekehrt und mir die Haare an einer anderen Blöden Sache heraus gerissen.
Jetzt habe ich das glaube ich mit den Parametern
danke.
Du hast recht das ich das alle auf ein mal anzeigen etwas viel ist.
Wobei das die Software die ich da habe bei der ich leider nur eine Visualisierung vornehmen kann ohne die Daten zu bearbeiten wird alles angezeigt.
Die zeigen das alles wie so ein lauf band an, ich kann das kann Kiepen und drehen heran Zoomen und weiter weg Zoomen, wenn ich dann an der Maus das Rad bewege dann Fahre ich den Drehpunkt um den ich komplette Profil herum bewegen kann weiter nach vorne oder nach hinten.
jetzt ist es erst mal die Daten richtig einlesen wenn ich das dann habe Könnte ich mir ja auch von den Daten her immer nur einen teil anzeigen lassen oder auch nur eine Linie dar heraus.
Doch so weit bin ich noch nicht.
Noch muss ich erst mal die Werte alle in die Richtigen Variablen Packen.
Und dann muss ich Wahrscheinlichkeit das Format ändern, aber das dann in einem anderen Thema.
Noch bin ich am einlesen der Daten und dank dir habe ich da ein kleinen Hoffnungsschimmer.
ich mache dann mal weiter und melde mich dann wider wenn ich mal wider nicht weiter komme, was wahrscheinlich nicht lange dauern wird.
_________________
--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
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.