WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Octave für Anfänger (CSV einlesen)

 

Muecke82
Themenstarter

Forum-Century

Forum-Century



Beiträge: 100
Anmeldedatum: 10.06.13
Wohnort: Großraum Stuttgart
Version: GNU Octave V.7.1.0
     Beitrag Verfasst am: 23.12.2014, 19:31     Titel:
  Antworten mit Zitat      
hmm, sch...
da ich bei den anderen keine Plan habe wie das geht ist das jetzt doof Sad
dann muss ich mich weiter auf die Suche machen, und hoffen das ich was finde.

das auskommentieren habe ich schon versucht jedoch kommt dann ein anderer Fehler.
ich dachte das cih das benötige, doch das ist ein Zoom? wenn ich das richtig mittlerweile verstanden habe.

das ist der Aktuelle Code:
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

clear all; close all; clc;   # alles Löschen

data = dlmread ("CSV/replay.csv", ",", 14, 60, "emptyvalue", NA);    # CSV Daten laden

snippet = data(1300:2800, 150:470);

## scale snippet to 0..1
tmp = snippet - min (snippet(:));
tmp = tmp / max (tmp(:));
## tmp = imresize (tmp, 0.5);

surf (tmp)
colormap gray
shading interp;
zlim([-3 3])

und das die Meldung dazu.
Zitat:
error: invalid use of script /Users/muecke/Desktop/Versuche/surf.m in index expression
error: called from:
error: /Users/muecke/Desktop/Versuche/surf_csv.m at line 18, column 1
>>

_________________

--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
Private Nachricht senden Benutzer-Profile anzeigen


AndyAndyAndy
Forum-Anfänger

Forum-Anfänger


Beiträge: 44
Anmeldedatum: 22.12.14
Wohnort: Nähe Offenburg
Version: GNU Octave 4.1.0+
     Beitrag Verfasst am: 23.12.2014, 19:59     Titel:
  Antworten mit Zitat      
Deine Daten haben fhlende Samples, ich denke dein Gerät war da nicht in der lage zu messen. Diese kannst du auch dur 0 ersetzen:

Code:

data = dlmread ("replay.csv", ",", 13, 9, "emptyvalue", NA);
y = data(1, :);
data(1, :) = [];

snippet = data(1300:2800, 150:470);

## scale snippet to 0..1
tmp = snippet - min (snippet(:));
tmp = tmp / max (tmp(:));

## NaNs auf 0 setzen
tmp (isnan (tmp)) = 0;

surf (tmp)
colormap gray
shading interp;
zlim([-3 3])
 


Das geht dann auch ohne image package
Private Nachricht senden Benutzer-Profile anzeigen
 
Muecke82
Themenstarter

Forum-Century

Forum-Century



Beiträge: 100
Anmeldedatum: 10.06.13
Wohnort: Großraum Stuttgart
Version: GNU Octave V.7.1.0
     Beitrag Verfasst am: 23.12.2014, 20:28     Titel:
  Antworten mit Zitat      
Das habe ich auch schon gesehen das da Lücken drin sind, Sad
wahrscheinlich hat der Sensor dort nichts gesehen Smile


habe den Code ausprobiert und immer noch eine Fehlermeldung Sad
und kein Bild Sad

Code:
## Befehl surf um ein 3D Gebilde darzustellen
## Autor: AndyAndyAndy
## Datum: 23.12.2014
## Forum: http://www.gomatlab.de/viewtopic,p,143529.html
## Datei: surf_csv.m

clear all; close all; clc;   # alles Löschen

data = dlmread ("CSV/replay.csv", ",", 13, 9, "emptyvalue", NA);
y = data(1, :);
data(1, :) = [];

snippet = data(1300:2800, 150:470);

## scale snippet to 0..1
tmp = snippet - min (snippet(:));
tmp = tmp / max (tmp(:));

## NaNs auf 0 setzen
tmp (isnan (tmp)) = 0;

surf (tmp)
colormap gray
shading interp;
zlim([-3 3])


Befehlsfenster hat Folgendes geschrieben:
>> surf_csv



error: invalid use of script /Users/muecke/Desktop/Versuche/surf.m in index expression
error: called from:
error: /Users/muecke/Desktop/Versuche/surf_csv.m at line 22, column 1
>>


woran kann das Ligen? die Fehlermeldung kommt immer beim Befehl. "surf" habe es auch mit einem ; am ende versucht. selbe Ergebnis Sad



EDIT ich habe eine meiner Übungsdateien umbenannt denn ich hatte eine Datei mit dem Namen surf.m im selben Verzeichnis, die habe ich jette in T_surf.m umbenannt und dort habe ich den Code nun rein gepackt, jetzt kommt keine Fehlermeldung mehr Smile
doch das Fenster in dem Das Bild erscheinen Sollte, bleibt wies und Hängt sich auf Sad
_________________

--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
Private Nachricht senden Benutzer-Profile anzeigen
 
Muecke82
Themenstarter

Forum-Century

Forum-Century



Beiträge: 100
Anmeldedatum: 10.06.13
Wohnort: Großraum Stuttgart
Version: GNU Octave V.7.1.0
     Beitrag Verfasst am: 24.12.2014, 00:07     Titel:
  Antworten mit Zitat      
habe gerade weg müssen und vorher den Code gestartet.
Als ich wider gekommen bin war das Bild da Smile

also habe ich das noch mal ausprobiert, nach ca. 20 min kommt das Bild.

Kann das sein das es etwas viel Daten sind die ich hier habe und deshalb so lange dauert?

Gibt es hier auch eine Möglichkeit das mit einiger "Rechen aufwand" zu erstellen?

und das Andere ist ich verstehe nicht wie das Bild erstellt werden kann,
woher wies der Code was in der Datei ein X oder ein Y bzw. ein Z wert ist?

ich dachte immer das ich ein Array erstellen muss (X, Y, Z, F) F = Farbe.

und dann das Array im 3D Raum anzeigen lassen kann.

habe mal Kommentiert was ich meine was passiert.
Code:
clear all; close all; clc;   # alles Löschen

data = dlmread ("CSV/replay.csv", ",", 14, 60, "emptyvalue", NA);    # CSV Daten laden  
                                                                     # ab zeile 14
                                                                     # immer erst ab Spalte 60 Rach Rechts einlesen
                                                                     # emptyvalue = keine ahnung
                                                                     # NA = keine ahnung
snippet = data(1300:2800, 150:470);       # von den gelesenen Daten nur den bereich
                                          # zwischen zeile: Spalte bis zeile:Spalte
                                          # in ein Array schreiben

## scale snippet to 0..1
tmp = snippet - min (snippet(:));         # keinen plan (etwas Rechnen)
tmp = tmp / max (tmp(:));                 # keinen plan (etwas Rechnen)
# tmp = imresize (tmp, 0.5);              # Die Daten sollten um den Faktor 0,5 gezoomt werden

surf (tmp)                                # Ausgabe des Array`s im 3D Raum
colormap gray                             # Farbe einstellen "Grau"
shading interp;                           # keinen plan
zlim([-3 3])                              # keinen plan

# muss ich hier nicht end oder so was schreiben?

_________________

--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
Private Nachricht senden Benutzer-Profile anzeigen
 
AndyAndyAndy
Forum-Anfänger

Forum-Anfänger


Beiträge: 44
Anmeldedatum: 22.12.14
Wohnort: Nähe Offenburg
Version: GNU Octave 4.1.0+
     Beitrag Verfasst am: 24.12.2014, 00:50     Titel:
  Antworten mit Zitat      
20min ist recht lange. Bei mir geht das nur ein paar Sekunden um die CSV Datei einzulesen und den Ausschnitt anzuzeigen. Hast du einen laten Rechner, wenig RAM? Kannst ja mal schauen, ob das System am swappen ist wil der RAM ausgeht.


"emptyvalue", NA: an den Stellem im CSV, wo kein Wert ist (,,) Na (not available) einsetzen.

Code:

tmp = snippet - min (snippet(:));         # keinen plan (etwas Rechnen)
tmp = tmp / max (tmp(:));                 # keinen plan (etwas Rechnen)
 


Zuerst das Minimum Abziehen, dann durch das Maximum Teilen um das Profil in den Bereich 0..1 zu skalieren. Die Achsenbeschriftung für Z stimmt dan zwar nicht mehr aber ich wollte das erstmal anzeigen.

in Octave kannst du z.B. "help surf" eingeben um die Hilfe zum Befehl zu bekommen. Außerdem kannst du dir die Matlab Hilfe durchlesen
Private Nachricht senden Benutzer-Profile anzeigen
 
Muecke82
Themenstarter

Forum-Century

Forum-Century



Beiträge: 100
Anmeldedatum: 10.06.13
Wohnort: Großraum Stuttgart
Version: GNU Octave V.7.1.0
     Beitrag Verfasst am: 24.12.2014, 01:05     Titel:
  Antworten mit Zitat      
meine iMac Daten.
Prozessor 2,9 GHz Intel Core i5
Speicher 8 GB 1600 MHz DDR3
Grafikkarte NVIDIA GeForce GT 650M 512 MB
Software OS X 10.9.5


Kannst ja mal schauen, ob das System am swappen ist wil der RAM ausgeht.

wie mache ich das?

"emptyvalue", NA: an den Stellem im CSV, wo kein Wert ist (,,) Na (not available) einsetzen.
das erklärt einiges.

Die Achsenbeschriftung für Z stimmt dan zwar nicht mehr aber ich wollte das erstmal anzeigen.
das ist für mich auch erst mal nicht ganz so wichtig, das das alles zu 10% richtig angezeigt wird, für mich ist es wichtig das ich verstehe wie das ganze geschid, und was passiert wenn ich was ändere, damit ich damit auch arbeiten kann, denn wenn ich es nicht verstehe kann ich auch nicht damit arbeiten.





SO wie es jetzt ist kann ich das Gebilde nicht Drehen Sad oder hinein Zoomen da das immer für jede Veränderung 20 - 30 min dauert, ...


für mich zum Verständnis, erweise surf was die X, Y, Z werte sind?
irgend wie muss man das doch definieren?
das ist für mich noch ein Ministerium Sad

woher wies das teil welche Zahlen miteinander zusammen gehören?
_________________

--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
Private Nachricht senden Benutzer-Profile anzeigen
 
Muecke82
Themenstarter

Forum-Century

Forum-Century



Beiträge: 100
Anmeldedatum: 10.06.13
Wohnort: Großraum Stuttgart
Version: GNU Octave V.7.1.0
     Beitrag Verfasst am: 24.12.2014, 11:58     Titel:
  Antworten mit Zitat      
ich wünsche allen ein frohes Fest und schöne Weihnachten.


_________________

--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
Private Nachricht senden Benutzer-Profile anzeigen
 
Muecke82
Themenstarter

Forum-Century

Forum-Century



Beiträge: 100
Anmeldedatum: 10.06.13
Wohnort: Großraum Stuttgart
Version: GNU Octave V.7.1.0
     Beitrag Verfasst am: 24.12.2014, 13:59     Titel:
  Antworten mit Zitat      
ich habe jetzt mal etwas herumspielt.
und mir eine Übungs-CSV erstellt "test.csv"

die habe ich dann eingelesen und angezeigt.
dabei ist mir aufgefallen das der Befehl "colormap" Probleme macht.

wenn ich ein Falsches Parameter angebe bekomme ich zwar eine Fehlermeldung jedoch ist das Bild innerhalb von ca. 30 - 60 sek. geladen.

Dafür sieht das Bild nicht aus wie ein Bild Sad
Schnell bewegen kann ich es leider immer noch nicht.

das ist der Code dazu:
Code:
## Befehl surf um ein 3D Gebilde darzustellen
## Autor: AndyAndyAndy
## Datum: 24.12.2014
## Forum: http://www.gomatlab.de/viewtopic,p,143529.html
## Datei: T_surf_2.m

clear all; close all; clc;   # alles Löschen

data = dlmread ("CSV/replay.csv", ",", 13, 9, "emptyvalue", NA);
y = data(1, :);
data(1, :) = [];

snippet = data(1300:2800, 150:470);

## scale snippet to 0..1
tmp = snippet - min (snippet(:));
tmp = tmp / max (tmp(:));

## NaNs auf 0 setzen
#tmp (isnan (tmp)) = 0;

surf (tmp)
colormap peer           ## Falsches parameter das es schneller geht
shading interp;
zlim([-3 3])





mit meiner Test Datei hat es schon besser geklappt:
test.csv (im Anhang)
test_csv.xls (im Anhang) habe ich verwendet um mir die einzelnen zielen zu generieren.

das ist der Code für die Test csv:
Code:
# Autor: Mücke
# Datum: 24.12.2014
# Aufgabe: CSV Daten laden und plotten 3D

clear all; close all; clc;   # alles Löschen



data = dlmread ("CSV/test.csv", ",", 0, 0, "emptyvalue", NA);    # CSV Daten laden  

surf (data)                               # 3D Raum ausgabe der CSV Datei


## wenn ich eine der zeilen Aktiv habe dann braucht das Diagram sehr lange.
## das Diagramm hackt auch wenn man es mit der Maus bewegen möchte.
## wenn ich colormap weg lasse ist der efekt der selbe

# colormap default
# colormap gray
# colormap autumn
# colormap bone
# colormap cool
# colormap copper
# colormap flag
# colormap gmap40
# colormap hot
# colormap jet
# colormap ocean
# colormap pink
# colormap prism
# colormap rainbow
# colormap spring
# colormap summer
# colormap white
# colormap winter



## Hier wird das Diagramm sehr schnell geladen und ich kann es auch gut
## mit der maus bewegen. bekomme aber eine fehlermeldung das das Agunemt nihct gefunden wurde.

# colormap westoutside  ## function 'westoutside' not found
colormap peer         ## function 'peer' not found

shading interp;                           # keinen plan
zlim([-3 3])                              # keinen plan
 


das Diagramm kommt schnell und ich kann es super schnell drehen,
jedoch nur wenn ich ein Falsches Parameter beim Befehl "colormap" verwende, sonnst dauert es länger bis es geladen ist, und mir fehlt am Oberen teil etwas vom Diagramm, Drehen ist dann auch nicht mehr möglich.
Sad

dafür bekomme ich mit Falschen Parameter hinten eine Wand eingezogen, keinen Plan wo die herkommt, bzw. ich raffe es nicht woher mein Prag wies wie die Koordinaten zusammen gehören.

Das Bild der Test CSV ist im Anhang ein mal mit Falschen und ein mal mit Richtigen Parameter

EDIT: ich arbeite mit "replay.csv"
wenn ich den Befehl: "shading interp;" raus schmeiße dann bekomme ich wider ein vernünftiges Bild angezeigt, dazu habe ich dann den den Befehl "colormap default" eingefügt. es dauert zwar immer noch länger dafür wird das Bild als Bild dargestellt, man erkennt zwar nichts weil es kunterbunt ist.
und Drehen lässt sich es auch nicht aber es kommt ein Bild. Smile


ich wies jetzt auch warum mir der Obere teil beim Test.csv gefehlt hat Smile
weil die Anzeige nicht stimmt (-3 3) habe das angepasst und siehe an da passt es auch wider mit der anzeige.
es ist immer noch sehr langsam, und ich verstehe nicht woher der Code wies wie die Koordinaten zusammen gehören Sad

Archiv.zip
 Beschreibung:
test.csv mit der ich die test Bilder erstellt habe.

und die Excel Datei, mit der ich die einzelnen zielen mir vorab erstellt habe. und dann die csv zu erstellen

Download
 Dateiname:  Archiv.zip
 Dateigröße:  30.52 KB
 Heruntergeladen:  707 mal
Bildschirmfoto 2014-12-24 um 12.56.16.png
 Beschreibung:
test.csv

Falschen Parameter

Download
 Dateiname:  Bildschirmfoto 2014-12-24 um 12.56.16.png
 Dateigröße:  140.87 KB
 Heruntergeladen:  735 mal
Bildschirmfoto 2014-12-24 um 12.57.49.png
 Beschreibung:
test.csv

Richtigen Parameter

Download
 Dateiname:  Bildschirmfoto 2014-12-24 um 12.57.49.png
 Dateigröße:  100.55 KB
 Heruntergeladen:  710 mal
Bildschirmfoto 2014-12-24 um 12.47.24.png
 Beschreibung:
wenn ich ein Falsches Parameter angebe bekomme ich zwar eine Fehlermeldung jedoch ist das Bild innerhalb von ca. 30 - 60 sek. geladen.

Dafür sieht das Bild nicht aus wie ein Bild :-(
Schnell bewegen kann ich es leider immer noch nicht.

Download
 Dateiname:  Bildschirmfoto 2014-12-24 um 12.47.24.png
 Dateigröße:  266.24 KB
 Heruntergeladen:  769 mal

_________________

--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
Private Nachricht senden Benutzer-Profile anzeigen
 
Muecke82
Themenstarter

Forum-Century

Forum-Century



Beiträge: 100
Anmeldedatum: 10.06.13
Wohnort: Großraum Stuttgart
Version: GNU Octave V.7.1.0
     Beitrag Verfasst am: 29.12.2014, 00:34     Titel:
  Antworten mit Zitat      
ich habe da mal eine Frage. zu Matlab R2014a auf einem WIN Rechner.

ich kann bei einem Bekannten in der Firma das Matlab benutzen,
jedoch ist der gerade im Urlaub und ich kann Ihn nicht fragen wie
das alles geht.


habe versucht Matlab bei Ihm zu verwenden, doch irgend wie ist verstehe ich das nicht.

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?

WIN-CSV-Einlesen.png
 Beschreibung:
das ist das Fenster das ich meine.

Download
 Dateiname:  WIN-CSV-Einlesen.png
 Dateigröße:  162.38 KB
 Heruntergeladen:  697 mal

_________________

--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.12.2014, 01:37     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Muecke82
Themenstarter

Forum-Century

Forum-Century



Beiträge: 100
Anmeldedatum: 10.06.13
Wohnort: Großraum Stuttgart
Version: GNU Octave V.7.1.0
     Beitrag Verfasst am: 29.12.2014, 02:15     Titel:
  Antworten mit Zitat      
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


Danke für die Antwort, ja du hast recht da habe ich nicht dran gedacht habe ein Neues Thema unter Matlab aufgemacht, hoffe das ich da richtig bin:

Lichtschnitt bild CSV darstellen



Auch wenn ich jetzt wies das ich das Fenster in dem ich mich befunden habe nicht dafür verwenden kann habe ich noch nicht mehr aus deiner Antwort raus holen können Sad,
ich weis nicht wo ich mit STRG + (Mausklick) was machen kann Sad

vielleicht könntest du da noch etwas genauer drauf eingehen, im anderen Thema.
_________________

--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas2000

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.05.2022, 20:39     Titel:
  Antworten mit Zitat      
Guten Tag,

ich habe ein ähnliches Problem, und habe den Code vom AndyAndyAndy gesehen, und wollte diesen ausprobieren.

Wenn ich die Zeilen Kopiere und im Befehlsfenster eingebe, bekomme ich ein Bild angezeigt.
Wenn diese in einer Datei *.m stehen und ich auf ausführen klicke bekomme ich kein Bild Sad.
Was muss ich da denn ändern das es dann auch Funktioniert?



AndyAndyAndy hat Folgendes geschrieben:
Das Bild habe ich erzeugt mit
Code:

data = dlmread ("replay.csv", ",", 43, 16, "emptyvalue", NA);
imagesc (data)
colorbar
print ("img1.png")
 


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
 
Andreas2000

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.05.2022, 21:24     Titel:
  Antworten mit Zitat      
ha ha, die Daten von Mücke82 sind ja einfach gigantisch groß. das dauert nur extrem lange bis die geladen ist.

meine Frage hat sich erübrigt !
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite Zurück  1, 2

Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.