Nun habe ich 9 größere Matrizen der Größe (Länge X * Länge Y) die mir für jedes Z einen Skalaren Wert angibt.
Diese Werte möchte ich farblich in ein x,y,z Plot bringen.
Macht man das mit dem befehl scatter3?
Da steht irgendwas davon dass X und Y gleich lang sein müssen? Ich versteh die helppage von scatter3 nicht wirklich.
Kann mir jemand einen Tipp geben?
Danke im Vorraus
Demophobie
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 01.10.2008, 21:15
Titel:
Also diese Matrizen weisen jedem x/y wert einen Skalaren Wert zu. Und da ich 9 Ebenen habe, hab ich auch 9 Matrizen.
Wenn du lediglich Punkte einzeichnen möchtest, reicht eigentlich auch plot3.
Wobei ich nicht ganz verstehe in welchem Zusammenhang deine Beispielwerte mit dem Problem stehen. scatter3 als auch plot3 benötigen Vektoren/Matrizen der gleichen Größe um die ganze Sache ordentlich plotten zu können, weil man für jede Raumkoordinate 3 Komponenten (x,y,z) braucht.
Sind deine x und y Werte immer dieselben und nur die z-werte ändern sich in den 9 Matrizen? Was genau meinst du mit Ebenen?
Demophobie
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 02.10.2008, 14:40
Titel:
Hey!
Danke für die Antwort. Ich glaub ich hab mich unvorteilhaft ausgedrückt. Nochmal:
Ich habe einen skalaren Wert in einem Raum ausgemessen an 990 Punkten (x,y,z).
Dafür habe ich 9 Ebenen abgemessen (z=[0 1 2 3 4 5 6 7 8]). Für jede Ebene habe ich 10x11 Werte aufgenommen.
X=[30 31 32 33 34 35 36 37 38 39] und Y=[20 21 22 23 24 25 26 27 28 29 30]
Zur jeder Ebene habe ich jetzt eine 10x11 Matrix mit den gemessenen Werten.
Ich suche eine Möglichkeit alle 9 Ebenen in einen Plot zu bringen, damit graphisch klar wird wo welche "Intensität" ist.
Habe ein bisschen mit Scatter3 probiert, komm da aber nicht weiter.
Demophobie
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 02.10.2008, 14:44
Titel:
Ohja ganz vergessen:
Ja, die x und y werte sind immer gleich - nur die z-Werte ändern sich.
[X,Y,Z]=meshgrid(x,y,z); % Raster für die Intensitätspunkte
I=10.*ones(length(y),length(x),length(z)); % I würde den gemessenen Intensitäten entsprechen, hier auf 10 für alle Werte gesetzt
I(5,5,5)=50; % um den Unterschied zum Rest der Punkte zu sehen
figure(1) scatter3(X(:),Y(:),Z(:),I(:),'filled')% dadurch wird die Intensität durch die größe der Punkte angegeben
figure(2) scatter3(X(:),Y(:),Z(:),10,I(:),'filled')% so wird die Intensität als Farbecodiert
Du musst jetzt halt einen Tensor I erstellen der die Dimension 11x10x9 hat und deine Messwerte enthält.
Demophobie
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 02.10.2008, 18:51
Titel:
Vielen vielen Dank!
Hast mir sehr geholfen.
Ein schönes Wochenende wünsche ich!
Einstellungen und Berechtigungen
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
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.