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

Mehrere XYZ Koordinaten in dreidimensionale Matrix

 

Gantz
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 22.01.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.01.2014, 00:02     Titel: Mehrere XYZ Koordinaten in dreidimensionale Matrix
  Antworten mit Zitat      
Hallo Leute,

nachdem mir hier immer mit der Suchfunktion oft geholfen wurde bin ich im Moment ratlos. Vielleicht könnt ihr mir helfen?

Ich versuche mehrere 3D-Koordinaten hintereinander zu legen, damit ich danach mit den gleichen Z-Koordinaten Berechnungen durchführen kann. Wie z.B. den Mittelwert berechnen.

Ich habe mehrere 3D-Dateien (Erste Spalte X, Zweite Y, Dritte Z) ala
Code:
-58.0000   -17.0000   24.197129
-57.0000   -17.0000   24.117685
-56.0000   -17.0000   24.056084
-55.0000   -17.0000   23.758096
usw.
 


Da es sich um eine 3D Objekterkennung handelt kann es vorkommen, dass in einer der Dateien beispielsweise Koordinate -57.0000 -17.0000 nicht vorkommt, dafür aber eine ganz andere.

Gibt es eine Möglichkeit alle Werte so hintereinander zu packen, dass diese mit den richtigen X und Y Koordinaten verknüpft werden?

Ob nun die XYZ Werte hintereinander sind oder ob man die Z Werte einfach als Matrix (wie im unteren Bereich dargestellt) ausgibt, soll mir egal sein. Kann mit beiden arbeiten.

Code:
24.197129 24.117685 24.197129
24.117685 24.117685 24.117685
24.056084 24.056084 24.056084
24.197129 24.197129 23.758096


Vielen Dank
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 23.01.2014, 00:39     Titel:
  Antworten mit Zitat      
versteh ich nicht.
Zitat:
Gibt es eine Möglichkeit alle Werte so hintereinander zu packen, dass diese mit den richtigen X und Y Koordinaten verknüpft werden?

was sind denn die richten? was meinst du mit hintereinander legen?
Zitat:
damit ich danach mit den gleichen Z-Koordinaten Berechnungen durchführen kann. Wie z.B. den Mittelwert berechnen.

der mittelwert von gleichen koordinaten? das macht keinen sinn ^^
falls du meinst du willst alle x y punkte haben die den gleichen z-wert haben, wobei noch zu klären ist was gleich ist (das ist nicht trivial), lässt sich das mittels logischer indizierung einfach erledigen.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Gantz
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 22.01.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.01.2014, 01:48     Titel:
  Antworten mit Zitat      
Lösung gefunden! Aber trotzdem der Vollständigkeit halber:

Sry ich wusste nicht, wie ich es genauer schreiben sollte.

Es handelt sich um eine 3D Messung welche den Wert Z misst. Also die Höhe. Dabei kommt es vor, dass einzelne Z Werte nicht ermittelbar waren und daher in einer Datei nicht vorkommen. In einer anderen aber schon. Um nun die gemessenen Z Werte (Höhen) zu vergleichen muss man sie irgendwie in eine Matrix bringen. Also nicht einfach in eine 2D Matrix wie 50x50 sondern bei 5 Dateien 50x50x5.

Lösung:

Ich habe das bei der griddata Erklärung die Lösung gefunden:

Examples


Sample a function at 100 random points between ±2.0:

Code:
rand('seed',0)
x = rand(100,1)*4-2;  y = rand(100,1)*4-2;
z = x.*exp(-x.^2-y.^2);


x, y, and z are now vectors containing nonuniformly sampled data. Define a regular grid, and grid the data to it:
Code:
ti = -2:.25:2;
[XI,YI] = meshgrid(ti,ti);
ZI = griddata(x,y,z,XI,YI);


%Plot the gridded data along with the nonuniform data points used to generate it:
Code:
mesh(XI,YI,ZI), hold
plot3(x,y,z,'o'), hold off


Bei mir war es dann:

Code:

Punkte=[-58.0000   -17.0000   24.197129; -57.0000   -17.0000   24.117685; -56.0000   -17.0000   24.056084 ]
[XI YI] = meshgrid(-100:400, -100:400);%Bereich in dem meine Punkte liegen können
ZI = griddata(Punkte(:,1),Punkte(:,2),Punkte(:,3),XI,YI);%Erstellt Matrix aufgrund meiner Punkte
 

ZI kann dann in ein erg(:,:,1:5) geschrieben werden.
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 23.01.2014, 12:14     Titel:
  Antworten mit Zitat      
griddata ist jetzt aber eine interpolation. bist du sicher das das gewünscht ist ? alternativ könntest du für nicht vorhandene daten auch NAN einsetzen und dann den mittelwert berechnen ohne die nans zu berücksichtigen.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Gantz
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 22.01.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.01.2014, 23:34     Titel:
  Antworten mit Zitat      
Wie soll das gehen?
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 28.01.2014, 00:28     Titel:
  Antworten mit Zitat      
Code:

_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Gantz
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 22.01.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.02.2014, 13:39     Titel:
  Antworten mit Zitat      
Ok, vielen Dank für die Hilfe.
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.