Daten möchte ich einen Oberfläche plotten. Mit dem Befehl surf bin ich nicht weit gekommen und mit meshgrid auch nicht. Dieses Gitternetz brauche ich auch nicht, ich benötige eigentlich nur die Fläche.
Die Koordinaten liegen nicht homogen in einer Ebene und die am Rand liegenden äußersten Punkte schließen auch nicht "gerade" oder bündig ab. Daher würde die Fläche "ausgefranst" aussehen können und das ist auch vollkommen ok so.
surf und mesh haben das gleiche Interface. Wenn dein geposteter Code mit mesh funktioniert hat, sollte er also auch mit surf funktionieren.
Ohne weitere Auskünfte kann ich dir leider auch nicht sagen, was du falsch machst.
Bekommst du eine Fehlermeldung? Welche?
Stimmt das Resultat nicht mit dem erwarteten ein? Warum nicht?
Grüße,
Harald
mythilos
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 03.01.2012, 00:52
Titel:
wenn ich folgendes probiere:
Code:
ti = -2:.25:2;
[XI,YI] = meshgrid(ti,ti);
ZI = griddata(AponeuroseDist(:,1), AponeuroseDist(:,2), AponeuroseDist(:,3),XI,YI);
mesh(XI,YI,ZI),
surf(AponeuroseDist(:,1), AponeuroseDist(:,2), AponeuroseDist(:,3),'o')
du hast plot3 durch surf ersetzt.
Du sollst aber mesh durch surf ersetzen.
Grüße,
Harald
mythilos
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 03.01.2012, 10:18
Titel:
Ah, danke, ich bin aktuell etwas krank, wodurch meine Aufmerksamkeit deutlich leidet.
Ich habs jetzt "richtig" verändert, allerdings bekomme ich keine Fläche, sondern nur die Verbindungslinien zwischen den Punkten angezeigt.
Eine Fläche bekomme ich aber leider nicht...
Heute werde ich die Daten nochmal aufbereiten und evtl anders sortieren (wahrscheinlich Cell-array), wodurch die jetzt willkürlichen Verbindungslinien auch noch ausgerichtet sind. Melde mich später nochmal.
Ich habe jetzt meinen Datensatz besser sortiert, allerdings heißt das leider nicht, das der plot dann funktioniert. Die Daten liegen nun als cell-array vor. In jeder Zelle stehen 2x Zeilenvektoren mit (x,y,z). So kann ich die als Linien für mich schon geordnet plotten mit:
Code:
for j=1:length(FaszikelNaNs);
plot3(Apo {j,1}(:,1),Apo {j,1}(:,2),Apo {j,1}(:,3),'g:','LineWidth',2);
hold on
end
Mein Ziel ist es immer noch die Fläche zu plotten.
Aktuell gehen die wie im oberen code angegeben geplotteten Linien Strahlenförmig von einem Punkt aus zu ihren Endpunkten (wie aufgefächert). Mir würde es schon reichen, wenn ich eine Fläche zwischen jedem dieser Strahlen erzeugen könnte....
Wenn nicht, dann fürchte ich, dass du dir durch die "Datenorganisation" mehr Probleme einhandelst als dass sie etwas bringt.
Kann es sein, dass du nur zu diesen Strahlenpunkten Daten hast? Der Befehl griddata interpoliert nur; er extrapoliert nicht. Wenn er extrapolieren müsste, setzt er NaN.
Oder willst du am Ende eine Regressionsebene durch alle Punkte legen?
Grüße,
Harald
mythilos
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 03.01.2012, 18:10
Titel:
erstmal vielen Dank für Dein Interesse, Harald.
Meine Daten liegen in einem cell-array vor: Apo{1:273,4}.
Mich interessieren insbesondere die in der 1. Spalte dieser cellen stehen, also: Apo{1:273,1}.
In den Zellen dieser Spalte steht jeweils eine Matrix von 3Spalten und 2Zeilen, welche 2x 3D (Zeilen-)Vektoren (x,y,z) enthalten.
Diese Vektoren beschreiben einen "Start" und ein "Ende" einer Strecke.
Also habe ich 273 x 2x 3D Vektoren, also 273 Strecken.
Diese sind in etwa so angeordnet wie die Finger an der Hand. Sie verfügen über einen gemeinsamen Startpunkt und einen individuellen Endpunkt (stehen in dieser Matrix, in jeder Celle wiederrum eine "Strecke").
Das ganze sieht dann in etwa so aus:
[img]http://imageshack.us/photo/my-images/62/apoim.jpg/[/img]
Ich möchte jetzt die Fläche die durch diesen "Fächer" gebildet wird darstellen. Am besten auch mit 'nem niedrigeren 'alpha'.
Wenn es dafür notwendig ist die Daten wieder in ein anderes Format zu bringen, dann soll das kein Hindernis sein.
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.