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

Werte aus griddata darstellen

 

Stromberg
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 58
Anmeldedatum: 13.10.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.10.2014, 20:59     Titel: Werte aus griddata darstellen
  Antworten mit Zitat      
Hallo,

ich habe folgendes Problem und hoffe, dass mir jemand weiterhelfen kann.

Ich habe 3 Spaltenvektoren

Spaltenvektor Z (Messdaten von n Messsensoren)

Spaltenvektor X (Position der n Messsensoren in X-Richtung)

Spaltenvektor Y (Position der n Messsensoren in Y-Richtung)

Mit der Festlegung eines Bereichs und der Schrittweite für die X- und Y-Richtung habe ich mit dem Befehl meshgrid ein 2D-Gitter erstellt.

Mit dem Befehl griddata habe ich mir dann für das erstellte Gitter interpolierte Messwerte erstellen lassen und diese als 3D plot dargestellt.

Jetzt möchte ich gerne folgendes tun:

1.) Einen Punkt (X/Y) vorgeben und mir den Z-Wert aus den interpolierten Daten ausgeben lassen

2.) Einen 2D Linenplot erstellen, welcher mir auschließlich eine Kurve von einem bestimmten Bereich zeigt, z. B. Darstellung der Z-Werte über der X-Achse bei Y = 0
Private Nachricht senden Benutzer-Profile anzeigen


Stromberg
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 58
Anmeldedatum: 13.10.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.11.2014, 19:05     Titel:
  Antworten mit Zitat      
Hallo,

ich habe mal ein Beispiel erstellt, dass mein Anliegen verdeutlicht.

Anhand eines bereits erstellten grids aus ungeordenten Daten (X,Y,z) wurde durch Interpolation eine Fläche mit dem Befehl surf dargestellt.

Jetzt würde ich mit gerne alle interpolierten Punkte, z. B bei Y = 0, ausgeben lassen und diese als einfachen Linien-plot darstellen.

Kennt hierzu jemand einen Befehl, mit dem ich die Daten auslesen kann?

Beispiel.pdf
 Beschreibung:

Download
 Dateiname:  Beispiel.pdf
 Dateigröße:  81.78 KB
 Heruntergeladen:  514 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Seban
Forum-Meister

Forum-Meister


Beiträge: 600
Anmeldedatum: 18.01.12
Wohnort: ---
Version: ab R2014b
     Beitrag Verfasst am: 04.11.2014, 01:23     Titel:
  Antworten mit Zitat      
Hallo,

Ob es dafür einen Befehl gibt, weiß ich nicht. So geht es aber:

Code:
[X,Y,Z] = peaks(25);

figure
surf(X,Y,Z);

idx = find(Y(:, 1) == 0);
x = X(idx, :);
z = Z(idx, :);

figure
plot(x,z)


Grüße,
Seban
_________________

Richtig fragen
Debugging
Private Nachricht senden Benutzer-Profile anzeigen
 
Stromberg
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 58
Anmeldedatum: 13.10.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.11.2014, 23:12     Titel:
  Antworten mit Zitat      
Hallo und vielen dank für die schnelle Hilfe

Ich habe die Lösung für die Allgemeinheit noch beschrieben und mit der Darstellung der über der Y-Achse erweitert
Code:

%%% Verlauf über der X-Achse bei Y = 0
[X,Y,Z] = peaks(25);
figure
surf(X,Y,Z);
xlabel('X-Richtung'),ylabel('Y-Richtung'),zlabel('Z-Richtung')

idx = find(Y(:, 1) == 0.0);     % suche die Zeile in der 1. Spalte der Matrix Y, in der Y = 0 ist und definiere diese als idx
x = X(idx, :);                        % lese alle Elemente der Zeile idx der Matrix X und definiere als x
z = Z(idx, :);                        % lese alle Elemente der Zeile idx der Matrix Z und definiere als z

figure
plot(x,z)
xlabel('X-Richtung'),ylabel('Z-Richtung')
legend('Verlauf bei Y=0','Location','North');
grid on

%%% Verlauf über die Y-Achse bei X = 0
[X,Y,Z] = peaks(25);
figure
surf(X,Y,Z);
xlabel('X-Richtung'),ylabel('Y-Richtung'),zlabel('Z-Richtung')

idy = find(X(1 ,:) == 0.0);      % suche in der 1. Zeile der Matrix X die Spalte, in der X = 0 ist und definiere diese als idy  
y = Y(:,idy);                           % lese alle Elemente der Spalte idy der Matrix Y und definiere als y
z = Z(:,idy);                           % lese alle Elemente der Spalte idy der Matrix Z und definiere als z

figure
plot(y,z)
xlabel('Y-Richtung'),ylabel('Z-Richtung')
legend('Verlauf bei X=0','Location','North');
grid on
 
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.