Matlab 3D-Plot aus CSV Messdatenmatrix

Gast #7231527
Hallo zusammen,
ich würde gerne aus der angehängten csv Datei ein 3D-Plot mit Matlab 
generieren. Die Position der Messung ist durch die 1 Zeile (x-Richtung) 
und erste Spalte (y-Richtung) vorgebeben. Das heißt sie sind nicht in 
dem Format, so dass ich sie gleich den Funktionen surf oder plot3 
übergeben kann. Also ich habe nicht jede einzelne Koordinate in der CSV 
Datei geben, sondern eher eine "Messmatrix". Weiß jemand wie man das 
plotten kann?
Ich habe es auch noch nicht geschafft die csv Datei in Matlab 
einzulesen. Vlt. kann mir dazu auch jemand einen Tipp geben.
Danke schon mal!
Angehängte Dateien:
Ich würde `dlmread` nicht mehr nutzen, nimm readtable 
(https://www.mathworks.com/help/matlab/ref/readtable.html).

Unten ein Code Beispiel, das auch die x und y Koordinaten 
berücksichtigt.
1
T = readtable("D:\Downloads\Messmatrix.csv", Delimiter=";", DecimalSeparator=",");
2

3
xCoord = T{1,2:end}; % 1. Zeile
4
yCoord = T{2:end,1}; % 1. Spalte
5
zData = T{2:end, 2:end}; % Daten "Matrix"
6

7
% surf braucht ein grid mit derselben Größe wie die Daten
8
[xGrid, yGrid] = meshgrid(xCoord, yCoord);
9

10
% plot me
11
surf(xGrid, yGrid, zData);
12
xlabel('x'), ylabel('y'), zlabel('z')
MATLAB-user schrieb:
> Jan K. schrieb:
>> Ich würde `dlmread` nicht mehr nutzen, nimm readtable
>> (https://www.mathworks.com/help/matlab/ref/readtable.html).
> Was wäre dafür der Grund?

Dlmread ist halt Low Level file I/o. Ggf sogar deprecated mittlerweile. 
Readtable ist eine high level Funktion, die viel mehr kann und auch viel 
selbsterklärender ist, was die Parameter angehen. Zurück kommt ein table 
Datentyp, auf den das gesamte ML ecosystem momentan migriert. Für das 
Beispiel hier hat es keine großen Vorteile außer der Parameter, true. 
Für ganz ganz viele weitere aber schon. Und es hat keine Nachteile, 
daher kann man es jetzt schon nutzen;)

>
> O.g. Anforderung kann man auch mit Excel direkt lösen.

Jo.. aber meistens möchte man ja auch mehr machen. Und wer Matlab hat, 
der möchte für die wenigsten Dinge noch Excel nutzen ;)
csvread ist ebenso nicht mehr empfohlen, sondern readmatrix() und das 
ist eben Teil der neueren readxxx() Funktionen, zu der auch readtable 
gehört. In der Tat ist hier readmatrix wohl die bessere Funktion als 
readtable, die ich oben vorschlug, weil die Daten eigentlich nicht 
tabellarisch sind. Die Funktionsparameter sind aber identisch.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 4 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.