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

Oberflächenplot aus Messdaten

 

pfeili
Forum-Century

Forum-Century


Beiträge: 177
Anmeldedatum: 27.08.08
Wohnort: ---
Version: R2019b
     Beitrag Verfasst am: 16.03.2015, 12:58     Titel: Oberflächenplot aus Messdaten
  Antworten mit Zitat      
Liebe Leute,

folgende Matrix würde ich gern plotten:

7 15 8.22
22 15 8.54
37 15 7.89
52 15 7.20
67 15 6.43
82 15 3.64
97 15 2.69
112 15 4.44
2 30 10.09
17 30 10.45
32 30 9.61
47 30 8.32
62 30 6.53
77 30 5.22
92 30 3.42
107 30 1.71
122 30 4.08
7 45 12.07
22 45 10.51
37 45 8.70
52 45 7.54
67 45 6.09
82 45 4.78
97 45 3.34
112 45 3.13
2 60 10.58
17 60 10.32
32 60 8.22
47 60 6.76
62 60 5.80
77 60 4.23
92 60 4.31
107 60 3.68
122 60 5.34
7 75 7.71
22 75 7.68
37 75 7.93
52 75 6.59
67 75 5.37
82 75 3.77
97 75 3.64
112 75 4.83

Hierbei sind die ersten beiden Spalten meine x- und y-Koordinaten und in Spalte 3 meine zugehörigen Messwerte. Erhalten möchte ich ein Messgitter, in welchem die Teilflächen eingefärbt sind, wie beispielsweise hier: http://scv.bu.edu/~kadin/alliance/apply/solvers/. Nun habe ich es mit

Code:
surf([x_werte, y_werte, c])


probiert, wobei die Parameter jeweils 42x1-Matrizen sind. Allerdings funktioniert der Plot nicht so, wie ich mir das vorgestellt habe. Auf der z-Achse liegt nicht der Messwert, sondern scheinbar der x-Wert. Wenn ich mir die Colorbar anzeigen lasse, reicht sie bis 120, aber meine Messwerte gehen ja maximal bis 12.07 (*.fig hängt an).

Muss ich vielleicht meine Messwerte umsortieren?

Wie schaffe ich es, ein Messgitter mit meinen Werten zu bestücken?

Viele Grüße

pfeili

Messgitter.fig
 Beschreibung:

Download
 Dateiname:  Messgitter.fig
 Dateigröße:  4.48 KB
 Heruntergeladen:  240 mal
Private Nachricht senden Benutzer-Profile anzeigen


pfeili
Themenstarter

Forum-Century

Forum-Century


Beiträge: 177
Anmeldedatum: 27.08.08
Wohnort: ---
Version: R2019b
     Beitrag Verfasst am: 16.03.2015, 13:30     Titel:
  Antworten mit Zitat      
...die für mich infrage kommende Funktion ist auf jeden Fall

Code:


Allerdings besteht weiterhin das Problem, dass die Vergabe der Achsen nicht so erfolgt, wie ich es meine vorzugeben, also erste Spalte x, 2. Spalte y, dritte Spalte Messwerte. Mein Messgitter muss sich ja in der x-Richtung bis 122 mm und in der y-Richtung bis 75 mm erstrecken, was es allerdings nicht tut. Aktuell reicht meine x-Achse von 1 bis 3 und meine y-Achse bis 42, was identisch mit der Zeilenanzahl meiner Vektoren wäre. Aber wie muss ich das nun beeinflussen?

Viele Grüße

pfeili
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: 16.03.2015, 13:39     Titel:
  Antworten mit Zitat      
Hallo,

man muss die Daten vorher auf ein rechteckiges Gitter transformieren, siehe
Code:
doc scatteredInterp

Dort ist auch ein Beispiel enthalten, wie das im Zusammenhang mit Oberflächenplots etc. verwendet werden kann.

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

Forum-Century

Forum-Century


Beiträge: 177
Anmeldedatum: 27.08.08
Wohnort: ---
Version: R2019b
     Beitrag Verfasst am: 16.03.2015, 13:51     Titel:
  Antworten mit Zitat      
Ich habe es jetzt folgendermaßen gelöst:

Code:

[xi,yi] = meshgrid(2:1:122, 15:1:75);
zi = griddata(x_werte, y_werte, c, xi, yi)
surf(xi,yi,zi)
 


Jetzt muss ich nur noch schauen, wie ich die Gitterlinien unsichtbar mache, dann reicht mir das so.

Vielen Dank und beste Grüße

Felix
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: 16.03.2015, 13:55     Titel:
  Antworten mit Zitat      
Hallo,

Code:


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

Forum-Century

Forum-Century


Beiträge: 177
Anmeldedatum: 27.08.08
Wohnort: ---
Version: R2019b
     Beitrag Verfasst am: 16.03.2015, 14:16     Titel:
  Antworten mit Zitat      
Ich hatte es jetzt so gelöst.

Code:

h = surf(xi,yi,zi)
set(h, 'edgecolor', 'none')
 


Trotzdem danke und einen schönen Tag.

Viele Grüße

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