Verfasst am: 22.12.2014, 17:48
Titel: Octave für Anfänger (CSV einlesen)
Hallo miteinander,
ich habe das erste mal mit Octave oder so einem ähnlichen Programm Berührungen .
Da ich es bisher nicht verstehe was ich überhaupt machen soll suche ich eine Anleitung (DE) mit der ich überhaupt mal CSV Dateien einlesen kann und dann das Ergebnis von dem was ich eingelesen habe wider ausgeben kann.
Ich möchte ein Gefühl bekommen wie ich was machen kann bzw. muss das ich auch eine Ausgabe erhalten kann.
bin Totaler Anfänger und schon sehr froh das ich das teil installiert bekommen habe.
Gruß
Mücke
_________________
--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
da ich mit der CSV gerade nicht weiter komme, habe ich mir den Befehl plot3 vorgenommen, das ist sehr interessant, auch wenn ich das noch nicht so richtig verstanden habe mache ich mal damit weiter.
Meine CSV Datei ist folgendermaßen aufgebaut die ich einlesen möchte:
Zeile 1: Info
Zeile n: ist alles unwichtig
Zeile n: End
Zeile n: DeviceInfo
Zeile n: ist alles unwichtig
Zeile n: End
Zeile n: Profile
Zeile n: 3 zielen unwichtig
Zeile n: Encoder,Inputs,Exposure,Y,Axis, .... (ca. 2.000 Werte)
Encoder = ist die Zeile (vorlaufende Richtung) meine (Z Achse)
Inputs = keinen Plan kann ignoriert werden
Exposure = keinen Plan kann ignoriert werden
Y = keinen Plan kann ignoriert werden
Axis = keinen Plan kann ignoriert werden
(ca. 2.000 Werte) = das sind die Werte für die X-Achse
Zeile n: wie die darüber aufgebaut, mit dem unterschied
(ca. 2.000 Werte) = Das ist der Y wert zum X-Achse
diese ziele wiederholt sich ca. 10894 natürlich mit anderen werten die im Koordinaten System immer der X-Achse zugeordnet werden müssen.
Zeile n: End
Jetzt meine Frage wie lese ich so eine Menge an Daten ein? und wie muss ich die Speichern das ich die Später wider anzeigen kann?
Speicher ich die in ein Array? das 4 Dimensionen hat?
Point(Z, X, Y, Color)
bei bedarf kann ich auch gerne mal so eine CSV Datei Hochladen, jedoch ist die 48,2 MB groß gerne mach ich die dann kleiner der Aufbau wäre dann aber immer noch der Selbe.
Die Daten der CSV Datei kommen von einer Lichtschnitt Kammer (Leselinie die von einer Kamera aufgenommen wird)
Das Objekt ist ein Reifen der sich Dreht daher auch Z = Encoder denn das ist dann immer eine Neue Linie.
Wie gehe ich hier am Besten vor?
ich habe so was noch nie gemacht also CSV einlesen oder etwas Grafisch darstellen.
warum ich im Array 4 Dimensionen mit rein genommen habe, ich möchte die kanten in jeder Linie später heraus rechnen und in einer Anderen Farbe darstellen lassen, z.B. abfallende Werte alle Grün und Aufsteigende Werte Alle Blau, etc.
ich sollte also mit den Daten die ich eingelesen habe auch noch weiter rechnen können.
wie gesagt ich habe keinen Plan wie ich hier vorgehen muss oder sollte.
Wenn jemand ein Tutorial oder ein Muster Programm mit Musterdaten für mich hat würde ich mich sehr freuen.
gruß Mücke
_________________
--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
Da ich es bisher nicht verstehe was ich überhaupt machen soll suche ich eine Anleitung (DE) mit der ich überhaupt mal CSV Dateien einlesen kann und dann das Ergebnis von dem was ich eingelesen habe wider ausgeben kann.
CSV einlesen mit "csvread" bzw. "dlmread". Ich empfehle ein Matlab/Octave Tutorial durchzuarbeiten. Also erstmal mit Matritzen und Vektoren umgehen, Kontrollstrukturen usw. oder gleich das Octave Manual (nur englisch) die ersten Kapitel durcharbeiten.
Wenn du das CSV und die Infos irgendwo online legst, würde ich vielleicht auch mal reinschauen.
Was für ein Scanner ist das? LMI 3D Gocator xyz? Hast du da eine genauere Beschreibung der CSV Datei? Aus deiner Erklärung werde ich nicht schlau. Wie ich eben gesehen habe, hast du letztes Jahr schonmal angefragt. Was ist in der Zwischenzeit geschehen? Anbei mal ein Bild aus deiner CSV Datei. Steht der Reifen am Anfang und wird dann erst beschleunigt?
Also so wie ich die CSV Datei lese, sind das einfach Höhenwerte in mm? Passt eine durchschnittliche Profiltiefe von 4.9mm (aus deinen Daten gelesen)? Anbei noch ein Ausschnitt
Reifen ist auf einer Drehbaren Achse gelagert, der Gocator ist im 90° Winkel zur Lauffläche dazu aufgestellt.
Es gibt leider keinen Encoder bei dem Muster (sollte auf die Schnelle mal ein ein paar Daten erstellt werden)
Der Gocator gibt also immer nur das Profil des Reifen aus.
Beim Gocator ist das so das er eine Feste "Y" Achse hat das ist die Richtung Links / Rechts (an der Roten Leser Linie entlang) (Bild)
Die "Z" Werte sind Höhen angaben die sich jeweils auf den "Y" wert beziehen.
Die CSV ist dann also folgendermaßen aufgebaut.
zwischen "Profile" und "End" sind die Y und Z Werte wie auch die X Werte
1 Zeile: Titel für Zeile 2
Zeile 1 & 2 werden ignoriert.
Zeile 3: Frame
Source = Zeilen nr. Fortlaufend (Z wert)
Time = ignorieren
Encoder = nicht vorhanden ignorieren
Z Encoder = nicht vorhanden ignorieren
Inputs = Ignorieren
Exposure = Ignorieren
Y = Definieren welche Werte folgen werden
Axis = Ignorieren
... hier sind die Y Werte
Zeile 4 ff:
das selbe wie in ziele 3 nur das das dann alles die "Z" werte sind.
EDIT:
ich habe die Selbe Datei wie du vorliegen doch bei mir kommt da nicht das Bild raus wie bei dir .
EDIT 2:
habe da eine Bild gefunden im Netz wie ich mir das vorstelle das ich mir die Daten darstellen würde. (Bild 3)
wenn ich das richtig verstanden habe geht das mit plot3 (x, y, z)
Ja ich verwende 3.8.0 unter Mac (OS X 10.9.5 'Mavericks')
Wie ich das installiert habe, nach dem ich keine Ahnung wie lange gesucht habe, und nur raus gefunden hatte das ich was anderes zu erst installieren soll aber nicht drauf gekommen bin was genau habe ich eine DMG Datei gefunden (Unter OS X wie eine EXE bei WIN) hier wurde alles Installiert was benötigt wird, unter anderem auch eine Grafit Umgebung.
Von Über Octave habe ich mal ein Bild angehängt.
Also 1 3D Linie habe ich schon hingekommen zwar nicht aus der CSV sondern mit beliebigen werten wenn du meinst schaue ich mir aber mal den Befehl surf an.
mit deinem Code kann ich so leider nichts anfangen
EDIT: wenn ich bei Google "Octave demo plot3" eingebe dann finde ich so was: http://www.mortenlysgaard.com/2013/.....of-isolated-rod-with.html
ich dachte von der Darstellung müsste das doch in die Richtung gehen, ganz viele 3D Linien hintereinander aufgereiht im 3D Raum.
EDIT2: habe jetzt die Beispiele von http://de.mathworks.com/help/matlab/ref/surf.html bei in eine test.m geschrieben doch die Grafiken sind immer Weise es ist auch kein Achsen Gitter zu sehen oder sondergleichen
EDIT3:
ich habe den Code so versucht Einzusätzen:
Code:
# Befehl surf um ein 3D Gebilde darzustellen
# Autor: AndyAndyAndy
# Dateum: 23.12.2014
# Forum: http://www.gomatlab.de/viewtopic,p,143529.html#143529
jedoch bekomme ich da kein Ergebnis, im Befehlsfenster kommt der Text dann.
Zitat:
warning: the 'imresize' function belongs to the image package from Octave Forge
which seems to not be installed in your system.
Please read <http://www.octave.org/missing.html> to learn how you can
contribute missing functionality.
error: 'imresize' undefined near line 15 column 7
error: called from:
error: /Users/muecke/Desktop/Versuche/surf.m at line 15, column 5
>>
ich habe den Befehl in der ABC Liste gefunden, und habe mir das auch herunter geladen, da ist ein Ordner mit vielen Dateien. ich habe nur keinen Plan wo ich den hin tun soll.
die Hitachi und Architektur des OS X ist für mich ein Rätsel.
habe keinen Plan wo das installiert ist, wies nur wie ich das Programm öffnen kann.
ich habe Octave 3.8.2 gefunden auch als Installation Paket,
laut Installiert ist auch alles OK, jedoch kann ich keins meine Scripte mehr ausführen ohne das die Software abstürzt
ich bekomme immer die Meldung "gnuplot_qt wurde unerwartet beendet."
und dann muss ich das System bitte das Programm Zwangs zu schlissen da es nicht mehr reagiert
Editor: So ich habe es geschafft alles aus dem System raus zu löschen, und habe dann wider die Version 3.8.0 installiert da geht es wider.
werde das noch mal versuchen alles zu löschen und die Version 3.8.2 zum laufen zu bringen. an ansonsten ist V.3.8.0 aktuell bei mir.
_________________
--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
Besser wie von mir anfangs verlinkt einen Package Manager wie Fink oder MacPorts verwenden (oder eben Ubuntu in einer VM installieren).
mit so was "Package Manager" oder "MacPorts" habe ich noch nie was gemacht
bei den Methoden Raffe ich es nicht was ich runter laden muss und Installieren muss, aus dem Grunde ziehe ich die DMG/APP vor
bin gerade dabei noch mal ein anders Packer herunter zu laden (DMG 3.8.2) jedoch ist der Server etwas Langsam und das dauert noch etwas länger
_________________
--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
so auch mit dem Packet habe ich das Selbe Problem warum auch immer.
ich habe jetzt wider die Version 3.8.0 aufgespielt denn da klappt es schon mal mit dem plit3 ohne das ich eine Fehlermeldung bekomme.
jetzt würde ich nur gerne dein Prog. auch zum laufen bekommen aus dem Post # man gibt es hier keine Post Nr. ??
dann so. den Code hier versuche ich zum laufen zu bekommen:
Code:
# Befehl surf um ein 3D Gebilde darzustellen
# Autor: AndyAndyAndy
# Dateum: 23.12.2014
# Forum: http://www.gomatlab.de/viewtopic,p,143529.html
# Datei surf_csv.m
das Packet "image-2.2.2.tar.gz" habe ich herunter geladen jedoch ist das nur ein Ordner mit Dateien drin, und ich habe keinen Plan wo ich den Hin kopieren soll das Octave wies das es das gibt.
EDIT: hat mir jemand einen Tipp wo ich denn den Ordner "image" hin schieben muss, oder wie ich die "imresize" installiert bekomme.
_________________
--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
EDIT: hat mir jemand einen Tipp wo ich denn den Ordner "image" hin schieben muss, oder wie ich die "imresize" installiert bekomme.
Wenn du image-2.2.2.tar.gz heruntergeladen hast, dann ist das sourcecode, welcher kompiliert, gelinkt usw. werden muss. Also brauchst du eine komplette Entwicklungsumgebung (die wäre bei fink, macports usw. dabei)
Da du aber ein App Bundle installiert hast, wird das nicht gerade einfach. Vielleicht gibt es irgendwo ein vorkompiliertes octave-forge image für dein Bundle?
Kommentier doch einfach mal die Zeile mit dem imresize aus, dann wird der plot halt größer.
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.