|
|
3D-Surface-Plot von x,y,z-ASCII-Datei |
|
pgiesel |

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 09.01.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.01.2012, 22:24
Titel: 3D-Surface-Plot von x,y,z-ASCII-Datei
|
 |
Hallo
Ich habe seit Tagen das Problem, dass ich es nicht schaffe einen Konturplot der ASCII-Dateien mit Matlab zu erstellen:
Die Daten liegen wie folgt vor:
x y z
0 0 4
0 1 4
0 2 5
1 0 6
1 1 5
1 2 4
(Beispieldatei im Anhang)
Das Problem besteht darin, dass ich zunächst eine x,y,z-Matrix aus den Daten erstellen muss und erst dann diese Matrix als Konturplot plotten kann.
Nun sind meine ASCII-Dateien allerdings riesig, die x und y Werte von Datei zu Datei unterschiedlich, d.h. ich kann nicht von Hand erst ein Meshgrid erstellen, da ich nicht jedesmal nachgucken kann wie die Werte für x und y sind in der jeweiligen Datei.
In Origin gab es eine Option, Worksheet zu Matrix konvertieren -> x,y,z-Gridding verwenden die genau das gemacht hat was ich wollte. Anschließend konnte man die Matrix ganz einfach plotten. Geht das auch mit Matlab?
Vielen Dank für die Hilfe, falls jemand eine Idee haben sollte!
Ciao
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 09.01.2012, 22:50
Titel:
|
 |
Hallo,
siehe Beispiele in der Doku zu GRIDDATA und TRISCATTEREDINTERP.
Grüße,
Harald
P.S.: Das mit dem Anhang hat wohl nicht geklappt?
|
|
|
pgiesel |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 09.01.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.01.2012, 14:36
Titel:
|
 |
Hier das Beispiel aus der Doku zu TriScatteredInterp:
********************************************************
Create a data set:
x = rand(100,1)*4-2;
y = rand(100,1)*4-2;
z = x.*exp(-x.^2-y.^2);
Construct the interpolant:
F = TriScatteredInterp(x,y,z);
Evaluate the interpolant at the locations (qx, qy). The corresponding value at these locations is qz:
ti = -2:.25:2;
[qx,qy] = meshgrid(ti,ti);
qz = F(qx,qy);
mesh(qx,qy,qz);
hold on;
plot3(x,y,z,'o');
********************************************************
Mein Problem ist, dass man im zweiten Teil des Beispiels angeben muss wie groß "ti" sein soll. Man muss also schon im Voraus die Größe seines Gitters wissen. Genau das möchte ich aber umgehen, weil das in meinem Fall von Datei zu Datei varriiert.
Beschreibung: |
|
 Download |
Dateiname: |
data.txt |
Dateigröße: |
140.41 KB |
Heruntergeladen: |
527 mal |
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 10.01.2012, 14:58
Titel:
|
 |
Hallo,
das ist kein großes Problem, geht z.B. so:
Grüße,
Harald
|
|
|
pgiesel |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 09.01.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.01.2012, 16:36
Titel:
|
 |
Sehr schön! Jetzt hats geklappt! Vielen Dank Harald! Hatte echt ne Menge Zeit damit verschwendet!
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
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.
|
|