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

Messpunkte in 3D: z-Koordinaten farblich darstellen

 

smartsurfer
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 12.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.02.2009, 19:42     Titel: Messpunkte in 3D: z-Koordinaten farblich darstellen
  Antworten mit Zitat      
Hallo Leute,

aus einer Textdatei lese ich Messpunkte (x,y,z Koordinaten: es steckt also keine Funktion zwischen den 3 Werten) ein.

Somit liegen die Daten so vor:
x = [ 1.445; 5.820;.......
y = [ 4.97; 2.068;......
z = [ 2.877; 2.836; .....

ein einfacher 3D plot geht ja mit plot3(x,y,z,'mo')

Jetzt hätte ich aber noch gerne ein Diagramm, bei dem ich quasi die Draufsicht auf die x-y Ebene habe, und die Messpunkte farblich entsprechend ihrem Wert (z-Koordinate, "Höhe") abgebildet werden (z.B. Farbe1=20, Farbe2=0, und die z-Werte dazwischen halt farblich dazwischen)

Wie bekomme ich das hin?
Private Nachricht senden Benutzer-Profile anzeigen


Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.02.2009, 20:40     Titel:
  Antworten mit Zitat      
Sind es denn 'flächige' Daten? Dann müsste dieses Beispiel http://www.gomatlab.de/beispiel-sur.....g-von-xyz-daten-t623.html zusammen mit dem Befehl
Code:
weiterhelfen.
 
smartsurfer
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 12.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.02.2009, 21:56     Titel:
  Antworten mit Zitat      
Also ich hab es jetzt mal so probiert (mit ein paar Testdaten):

Code:

hold on;
plot3(f,g,j,'o')
x_int=linspace(0,10,100);
y_int=x_int;
y_int=y_int(:);

[X,Y,Z]=griddata(f,g,j,x_int,y_int,'v4');
contourf(X,Y,Z)
 


Aber mit dem Ergebnis bin ich jetzt nicht so zufrieden. Was mache ich falsch?
So sieht es jetzt aus:





[/url]
Private Nachricht senden Benutzer-Profile anzeigen
 
smartsurfer
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 12.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.02.2009, 22:06     Titel:
  Antworten mit Zitat      
Jetzt habe ich noch etwas anderes mit den Testdaten ausprobiert, dass kommt in etwa in die Richtung, wie ich mir es vorstelle:

Code:

patch(f,g,j,j)
view([0 81]);
colorbar
hold on;
plot3(f,g,j,'*') % b steht für schwarz, . fuer Punkt

xlabel('x-Richtung [m]'); ylabel('y-Richtung [m]'); %x/y Beschriftung
zlabel('z-Richtung [m]');
title('Messung Nr. 1     ---    14.02.2009   '); %titel

grid on; %Gitternetz ein

%Positionen der Sensoren
sx = [ 1.445; 5.820; 1.385; 6.96]; %positionen in x Richtung 9B C99 B1 B3
sy = [ 4.97; 2.068; 14.483; 14.486];%postitionen in y Richtung
sz = [ 2.877; 2.836;  2.9; 2.9];
plot3(sx,sy,sz,'mo')
legend('Messwerte','Ubisense-Sensoren','LOCATION','BestOutside');
 


Dennoch ist es noch nicht richtig. Es werden die Punkte mit Linien verbunden. Bei den wenigen (Test-) Messpunkten ist das OK, aber bei mehreren Punkten sieht man so gar nichts mehr.

So sieht es jetzt aus(wenige Testdaten):





Gibt es eine Möglichkeit, nur den Bereich um die jeweiligen Messpunkte einzufärben?
Denn mit vielen Messpunkten sieht das Ganze so aus:






Also so erkennt man wegen den Linien gar nichts....

Wer kann mir da helfen?
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.02.2009, 22:12     Titel:
  Antworten mit Zitat      
Zitat:
Aber mit dem Ergebnis bin ich jetzt nicht so zufrieden. Was mache ich falsch?

Ja, inwiefern nicht? Was ist denn das erwartete Ergebnis?

Man kann hier auch Bilder direkt hochladen, ist das nicht einfacher?
 
derOli
Forum-Meister

Forum-Meister


Beiträge: 579
Anmeldedatum: 19.03.08
Wohnort: Leipzig
Version: 2010a
     Beitrag Verfasst am: 16.02.2009, 22:30     Titel:
  Antworten mit Zitat      
Hi,

könntest die Linien abschalten mit Proberty 'LineStyle' auf 'none'.

Viele Grüße,

der Oli
Private Nachricht senden Benutzer-Profile anzeigen
 
smartsurfer
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 12.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.02.2009, 23:21     Titel:
  Antworten mit Zitat      
@der Oli: Danke für den Tipp. Die Linien sind damit in der Tat weg, aber die Linien scheinen wohl doch nicht das Problem zu sein. Ohne die Linien werden die Meßpunkte als '*' dargestellt, alle in Blau.


Anonymous hat Folgendes geschrieben:
Zitat:
Aber mit dem Ergebnis bin ich jetzt nicht so zufrieden. Was mache ich falsch?

Ja, inwiefern nicht? Was ist denn das erwartete Ergebnis?

Man kann hier auch Bilder direkt hochladen, ist das nicht einfacher?


@Gast:
Ja, da hast du recht! Es ist einfacher Bilder hier direkt Hochzuladen. Künftig werde ich das machen.

Beim Ansatz mit 'contourf' bekomme ich die Kontur, aber in der x-y-Ebene, und ohne Bezug zur z-Ebene. Zumindest in der Form, wie ich es bisher gepostet habe. Daher meine Frage, ob ich 'contourf' vllt. 'falsch' benutzt habe, oder ob noch etwas dabei fehlt.


Noch kenne ich mich mit Matlab nicht so gut aus, daher weiß ich nicht, ob meine Daten einfach in der falschen Form vorliegen um die gewünschte Darstellung zu erreichen, oder ob es einfach so nicht geht, wie ich es gerne hätte.
Vielleicht habe ich bisher auch noch nicht richtig formuliert was ich mir vorstelle, das kann natürlich auch sein.
Daher noch eine kleine Erläuterung:
Bisher stehen in 'j' tatsächlich die z-Koordinaten im Raum. Künftig soll darin ein Wert für die Signalstärke an dieser x/y Position im Raum stehen. Ich möchte eine Darstellungsform erreichen, bei der ich Meßpunkte in der x-y-Ebene darstelle, diese aber farblich entsprechend dem Wert von 'j' kennzeichne. Damit möchte ich eine einfache Auswertung erreichen, an welcher x-y-Position ich eine hohe bzw. niedrige Signalstärke erreiche.
Bisher kommt das hier
<Bild1.jpg>

meiner Vorstellung am Nächsten.

Dabei ist aber das Problem, dass dies nur bei wenigen Messwerten funktioniert, ich aber gerne wesentlich mehr Messwerte in die Darstellung mit einbeziehen möchte.

Hat meine weitere Ausführung geholfen?

Bild1.jpg
 Beschreibung:

Download
 Dateiname:  Bild1.jpg
 Dateigröße:  39 KB
 Heruntergeladen:  935 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
smartsurfer
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 12.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.02.2009, 16:27     Titel:
  Antworten mit Zitat      
Hat niemand mehr einen Tipp für mich?
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 - 2024 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.