es folgen noch die Daten für Subject:B1-B9... Subject D1-D9. Diese Daten liegen jeweils in den nächsten Spalten.
Ist es möglich diese Daten als 3D Fläche zu plotten? Leider scheitert es bei mir schon mit dem richtigen importieren der Daten, geschweigen denn an einen Plot zu denken.
Ich wäre über jeden Tipp und jede Anregung sehr dankbar
an. Damit kannst du dein File lesen und die Daten importieren.
und mesh
zum ploten der Daten
_________________
Mit freundlcihem Gruß
Nyquist
Martin3d
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 11.02.2008, 13:25
Titel:
Hallo Nyquist,
leider komme ich mit dem Befehl xlsread nicht zurecht. Aber ich habe versucht mit der allgem. import funktion die daten einzulesen. das klappt wohl ganz gut. zwar noch nicht mit der ganzen datei aber ich wollte nur mal die ersten 9 punkte (=1 spalte) darstellen, rein als punkte.
nun meine frage, mit welchem befehl plote ich diese punkte. plot und mesh führen hier leider nicht zum ergebniss.
kommt darauf an über was du diese Punkte ploten willst sind das schon xyz Koordinaten
Mit meshgrid erzeugt man sich die Vektoren x, y und z
[X,Y,Z]=meshgrid(1:100);
und dann kommt es ganz darauf an in welcher weise du deine Punkte plotten willst.
da gibt es
surf
scatter
plot3
...
schau mal in der Matlab Hilfe nach da findest du einiges über 3d-Plot
_________________
Mit freundlcihem Gruß
Nyquist
Martin3d
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 11.02.2008, 14:32
Titel:
Die Matlab Hilfe hab ich schon konsultiert, aber damit komme ich nicht wirklich weiter.
Die Koordinaten sind bereits die x,y,z Werte. Ich hätte einfach gerne ein Bild, in dem die 45 Punkte auch als Punkte dargestellt sind über die 3 Achsen geplotet.
Die Fläche ist der menschliche Rücken.
In einem weiteren Schritt wäre es dann schön das als komplette Fläche dargestellt zu haben, aber ich scheiter schon an dem simplen Problem
danke nschlange, dit ging ja schnell nun bin ich auch angemeldet.
das mit dem hold on funzt ja super. matlab könnte mir gefallen.
nun meine nächste frage:
kann ich nun auch die farbe der zweiten linie ändern?
wahrscheinlich sind das voll die dummern fragen, aber ich finde in der doku nix, wahrscheilich suche ich wieder an der falschen stelle.
danke
super danke,
läuft alles in meinem test, nur leider nicht mit den originaldaten.
vergleiche nun seit ner viertel stunde die beiden codes,
sehe aber nciht den logischen unterschied:
dieser läuft:
clear; close all;
C = [40 50 80]
D = [50 60 80]
E = [80 90 30]
F = [70 80 90]
G = [50 60 30]
H = [10 20 30]
A313 = [24 12.4000082 -101.6357844]
plot3(C,D,E,'r'), grid on, hold on,
plot3(F,G,A313)
pause
dieser aber nicht, hab ich zuviele punkte?
clear; close all;
also wenn ich wirklich nur jeweils drei punkte nehme klappt es. bedeutet das nun das ich nur linien mit max. 3 punkten einbinden kann? nee, das kann ja nciht sein, oder doch?
plot3(A11,A12,A13,A14,A15,A16,A17,A18,A19,A20,'g'), grid on, hold on,
plot3(A21,A22,A23,A24,A25,A26,A27,A28,'r')
pause
und das ist die fehlermeldung bzw. die fehlermeldungen:
??? Error using ==> plot3
String argument is an unknown option.
Error in ==> W20080328Phil3D at 22
plot3(A11,A12,A13,A14,A15,A16,A17,A18,A19,A20,'g'), grid on, hold on,
Plot3 erwartet als Eingabe immer Tripel von Koordinaten, also zb x1 y1 z1, x2 y2 z2 ...
Du hast oben aber x4 = A20, y4 = 'g' und z4 = nix. Das geht nicht.
Schreib statt dessen mal
Code:
M1=[A11;A12;A13;A14;A15;A16;A17;A18;A19;A20] plot3(M1(:,1),M1(:,2),M1(:,3),'g') grid on; hold on;
M2=[A21;A22;A23;A24;A25;A26;A27;A28] plot3(M2(:,1),M2(:,2),M2(:,3),'r')
Damit werden die Punkte A untereinander in zwei Matrizen geschrieben, x in der ersten Spalte, y in der 2. und z in der 3.
Die einzelnen Spalten kann man dann plotten.
_________________
werden die Einträge von A11 als x-Werte, die von A12 als y-Werte und die von A13 als z-Werte genommen (die müssen alle gleich viele Einträge haben) Bei Dir haben die 3 Einträge, deshalb werden 3 Punkt geplottet.
Ich denke aber nicht, dass Du das so haben willst.
Wenn ich richtig vermute musst Du schreiben:
Jetzt werden wieder 3 Punkte geplottet (aber andere), weil A11(1) als x-Koordinate des 1. Punktes, A11(2) als y- und A11(3) als z-Koordinate genommen werden. A12(1) ... sind entsprechend die Koordinaten des zweiten Punktes.
Ich hoffe, der Unterschied wird so deutlich...
PS: Schreib doch bitte zukünftig Deinen Matlab-Code im Posting in die dafür vorgesehene Umgebung. Oben auf 'Code' klicken
_________________
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.