Hallo,
vielen Dank an dieses Forum. Es hat mir schon oft aktiv oder passiv geholfen!
Mein Problem: Ich habe Abstandsdaten einer Reflexion auf einer Kugeloberfläche zur Mitte dieser Kugeloberfläche (x-/y-werte in Graden). Zusätzlich wird ein dritter Messwert (z) erfasst, der ensprechend den x/y-koordinanten in einem surface geplottet werden soll. Soll heißen: Auf einer runden Grundfläche sollen zufällig verteilte z-Werte dargestellt werden.
ich bin schon relativ weit gekommen:
ich erstelle ein rundes meshgrid und habe eine z-matrix mit nullen in die ich an den jeweiligen stellen den z-wert eintrage.
das problem: diese matrix hat wesentlich mehr elemente ("datenpunkte") als ich z-werte habe. somit stehen sehr viele nullen in dieser matrix. wenn ich nun plotte (surf) habe ich eine wunderschöne blaue/schwarze disk und meine eigentlichen messwerte sind kaum noch zu sehen.
wenn ich nun die nullen durch NaN ersetze, sieht man von den Messwerten auch nicht viel, da, verständlicherweise, nicht genug punkte für eine interpolation vorhanden sind.
zusätzlich habe ich das ganze auch mit einer triscatteredinterp versucht. das ergebnis scheint mir aber auch nicht richtig zu sein.
hat jemand eine idee, wie ich die ganze sache noch angehen könnte? vielen dank!
%finde den kleinsten wert
x_min = floor(min(use.angh)*10);
y_min = floor(min(use.angv)*10);
%bestimmt die hable mindestgröße des grids
if x_min < y_min
grid_min_size = abs(x_min);
else
grid_min_size = abs(y_min);
end
%verschiebe die koordinaten der z-werte in die mitte des grids
x_coord = round(use.angh * 10) + abs(x_min);
y_coord = round(use.angv * 10) + abs(y_min);
%generiere spannvektoren des grids und die z-werte-matrix (zeros)
theta = linspace(0, 2 * pi, grid_min_size * 2);
rho = linspace(0, 40, grid_min_size * 2);
value = zeros(grid_min_size * 2, grid_min_size * 2, 'double');
[T, R] = meshgrid(theta,rho);
wie kann ich meine daten darstellen?
variante 1 ist doof, weil ich diese scheibe habe
variante 2 ist doof, weil keineswegs zu erkennen ist, wie die daten wirklich aussehen.
unterfrage: wie kann ich variante 1 verwirklichen, ohne diese scheibe zu haben. wenn ich nans statt ones/zeros verwende, habe ich zwar keine scheibe mehr, allerdings auch auch fast keine geplotteten daten mehr, da eben die matrix viel zu viele nans enthält.
mit nans um meine messwerte, sind die mehr oder weniger weginterpoliert.
oder habe ich hier etwas total falsch verstanden?
karle
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 03.09.2013, 15:17
Titel:
habe mir nun scatter3 einmal angeschaut.
das ist mehr oder weniger daselbe wie plot3, nur dass man spezifische farben und marker vergeben kann.
das wäre theoretisch eine lösung, allerdings auch nur die minimalistischste.
ich hätte schon gerne eine oberfläche...
gibt es andere möglichkeiten?
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.