Ich möchte nun eine Welle plotten. Die erste Spalte sollen meine X-Werte sein und die 2. und 3. Spalte meine Y-Werte, da auch Konus sowie Hohlzylinder-Elemente vorhanden sind.
Code:
plot(A(:,1),A(:,2),A(:,1),A(:,3)) %Plottet die Spalte 1&2 der Matrix A (noch falsch) xlabel('Länge [mm]') %Benennung der X-Achse
ylabel('Durchmesser [mm]') %Benennung der Y-Achse
arbeiten muss. Das Problem ist jetzt, dass die X-Werte immer wieder im Koordinatenursprung anfangen, und nicht beim jeweiligen letzten X-Wert, also addiert werden...
Und dann am Ende muss das noch um die X-Achse rotiert werden...
. Die erste Spalte sollen meine X-Werte sein und die 2. und 3. Spalte meine Y-Werte, da auch Konus sowie Hohlzylinder-Elemente vorhanden sind.
das verstehe ich schon nicht.
wenn du eine 3d figur haben willst würde ich mit
surface
arbeiten und das ganze in drei flächen aufteilen. außenfläche innenfläche und schnittfläche.
_________________
füllt ja den Graph bis zur X-Achse. So würden jedoch keine Hohl-Zylinder entstehen, oder hab ich was verpasst. Versuchen wir zunächst erstmal mit zwei Spalten zu arbeiten, damit ich das auch nach und nach verstehen kann.
Ich habe also zwei Spalten. Das Problem ist, dass das noch nicht die wahren Koordinaten sind, sondern Abmessungen der einzelnen Abschnitte der Welle. Jetzt frage ich mich ob Matlab das alles so regeln kann, oder ob ich zunächst die wahren X-Werte berechnen muss. Plotten, oder area wir die Spalten so wie ich sie habe, fängt der ja bei (300/200) an. Allerdings müsste er bei (0/200) anfangen, da es sich ja um eine Welle handeln soll.
Edit:
Sofern das wirklich vor dem area/plot erst berechnet werden muss wie geht das am besten? Indem ich eine neue Matrix berechne mit Koordinaten? Oden geht das über Flächen vllt leichter?
Eine neue Matrix könn zB so aussehen:
Spalte 1 (von oben nach unten): 0, A(1:1), B(1:n-1)+A(1:n), und dann den Rest mit dieser Funktion auffüllen. Die Funktion klappt warscheinlich so auch nicht. Bin leider totaler Matlab Anfänger. Was ich damit ausdrücken will ist, dass der erste X-Werte 0 sein soll, und der zweite hier:200 sein, und der dritte soll halt nicht 400 sondern 700 sein. Also eine Addition mit dem vorherigen X-Wertes.
Ich hoffe das ich das jetzt verständlich beschrieben habe^^
cumsum
könnte dabei hilfreich sein. wenn du weiterhin mit area arbeiten willst habe ich wohl das problem falsch verstanden. ich dachte du woltlest ein bild erzeugen wie das was du gepostet hast.
_________________
cumsum
könnte dabei hilfreich sein. wenn du weiterhin mit area arbeiten willst habe ich wohl das problem falsch verstanden. ich dachte du woltlest ein bild erzeugen wie das was du gepostet hast.
Ja ne hast du richtig verstanden. In 2D den Querschnitt, und in 3D halt die Welle in 3D. Das ist erstmal das Ziel. Das Problem ist, dass die die Werte in den Spalten die Abmessungen von den einzelnen "Abschnitten" sind und keine Koordinaten. Oder ist das gar kein Problem? Und das nächste Problem ist, dass es unendlich viele Zeilen geben kann. Sprich die Welle kann, sofern Datensätze vorhanden sind, unendlich Lang werden.
fang doch erstmal an und stell dann konkrete fragen wenn probleme auftauchen mit entsprechendem code. anstatt
area
könntest du auch
patch
verwenden. das kannst du dann sowohl für das 2d als auch das 3d bild benutzen.
_________________
Also bei area bekomm ich jetzt auch einen Error. Und die Visualisierungen von plot und patch sehen auch anders aus.
Konkrete Frage:
Was muss ich machen, um die Abmessungen der Abschnitte in korrekte Koordinaten umzuwandeln, um diese dann zu visualisieren?
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.