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

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

 

pgiesel
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 09.01.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.01.2012, 22:24     Titel: 3D-Surface-Plot von x,y,z-ASCII-Datei
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 09.01.2012, 22:50     Titel:
  Antworten mit Zitat      
Hallo,

siehe Beispiele in der Doku zu GRIDDATA und TRISCATTEREDINTERP.

Grüße,
Harald

P.S.: Das mit dem Anhang hat wohl nicht geklappt?
Private Nachricht senden Benutzer-Profile anzeigen
 
pgiesel
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 09.01.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.01.2012, 14:36     Titel:
  Antworten mit Zitat      
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.

data.txt
 Beschreibung:

Download
 Dateiname:  data.txt
 Dateigröße:  140.41 KB
 Heruntergeladen:  527 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 10.01.2012, 14:58     Titel:
  Antworten mit Zitat      
Hallo,

das ist kein großes Problem, geht z.B. so:

Code:
xi = linspace(min(x), max(x), 100);
yi = linspace(min(y), max(y), 100);
[qx,qy] = meshgrid(xi,yi);


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
pgiesel
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 09.01.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.01.2012, 16:36     Titel:
  Antworten mit Zitat      
Sehr schön! Jetzt hats geklappt! Vielen Dank Harald! Hatte echt ne Menge Zeit damit verschwendet!
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



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 - 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.