|
|
Mesh-Befehl + Rotationsfläche abspeichern |
|
Fr4nkie |

Forum-Newbie
|
 |
Beiträge: 8
|
 |
|
 |
Anmeldedatum: 15.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.02.2011, 16:27
Titel: Mesh-Befehl + Rotationsfläche abspeichern
|
 |
Hi!
Vielleicht kann mir ja hier jemand helfen...
ich habe Funktionswerte gegene a´la:
beispielsweise:
n=100;
x = 1:1:n;
y = sin(x);
Nun muss ich diese Funktionswerte im Raum rotieren lassen. Hatte vorher schon hier im forum einiges gefunden ( 0 <= t <= pi/2 , also um 90°):
t=((pi/2)/n:n)'*(pi/2)/n;
x = cos(t)*x;
y = sin(t)*x;
z = ones(n,1)*y;
Darstellen kann man das ganze nun mit
mesh(x,y,z)
Alles schön und gut,
aber ich brauche nun diese Matrix um mit ihr weiter zu rechnen... ich will mir sie nicht nur anschauen...
gibt es eine möglichkeit, dass was der mesh-befahl macht oder als ergebnis liefert irgendwo abzuspeichern?
Oder vielleicht kann mir jemand sagen, wie ich sonst zum ziel komme
Danke schon mal im Voraus
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 15.02.2011, 16:55
Titel: Re: Mesh-Befehl + Rotationsfläche abspeichern
|
 |
Hallo Fr4nkie,
Zitat: |
aber ich brauche nun diese Matrix um mit ihr weiter zu rechnen... |
Welche "Matrix" brauchst Du genau?
Zitat: |
gibt es eine möglichkeit, dass was der mesh-befahl macht oder als ergebnis liefert irgendwo abzuspeichern? |
Deine Variablen x, y, und z beinhalten die Koordinaten der berechneten Fläche. Ist das nicht bereits alles, was Du brauchst?
Nützen Dir die XData, YData und ZData des erstellten MESH-Objektes etwas?
Gruß, Jan
|
|
|
Fr4nkie |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 8
|
 |
|
 |
Anmeldedatum: 15.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.02.2011, 17:01
Titel:
|
 |
hab folgenden code geschrieben:
% Rotieren um z-Achse
x = cos(t)*x;
x = ceil(x);
y = sin(t)*x;
y = ceil(y);
-> ceil, weil die indexe ganzzahlig sein müssen
z = ones(n,1)*y;
for i=1:n
for j=1:n
matrix(x(i,j),y(i,j)) = z(i,j);
end
end
figure(99)
mesh(matrix)
und der befehl mesh(matrix) liefert folgende darstellung im gegensatz zu mesh(x,y,z)
Um es kurz zu fassen:
ich in x,y,z zwar die koordinaten, aber ich krieg die nicht zusammengesetzt in eine matrix-> beziehungsweise, die neue matrix sieht dann wie im bild aus...mit teilweise 0-elementen..
Beschreibung: |
hab hier mal eine andere grundfunktion benutzt |
|
 Download |
Dateiname: |
mesh_matrix.JPG |
Dateigröße: |
32.96 KB |
Heruntergeladen: |
452 mal |
Beschreibung: |
hab hier mal eine andere grundfunktion benutzt |
|
 Download |
Dateiname: |
mesh_x_y_z.JPG |
Dateigröße: |
30.1 KB |
Heruntergeladen: |
472 mal |
|
|
|
Fr4nkie |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 8
|
 |
|
 |
Anmeldedatum: 15.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.02.2011, 17:07
Titel: Re: Mesh-Befehl + Rotationsfläche abspeichern
|
 |
[quote="Jan S"]Hallo Fr4nkie,
Zitat: |
aber ich brauche nun diese Matrix um mit ihr weiter zu rechnen... |
Welche "Matrix" brauchst Du genau?
-> Ich brauche eine x,y-Matrix, wo die koordinaten des gedrehten profil drin sind
Zitat: |
gibt es eine möglichkeit, dass was der mesh-befahl macht oder als ergebnis liefert irgendwo abzuspeichern? |
Deine Variablen x, y, und z beinhalten die Koordinaten der berechneten Fläche. Ist das nicht bereits alles, was Du brauchst?
Nützen Dir die XData, YData und ZData des erstellten MESH-Objektes etwas?
-> was meinst du mit XData, YData, ZData, das sind doch meine x,y,z oder? ich muss sie nur irgendwie zusammen packen damit aus x,y,z eine matrix wird
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 15.02.2011, 18:07
Titel: Re: Mesh-Befehl + Rotationsfläche abspeichern
|
 |
Hallo Fr4nkie,
Irgendwie scheinen bei Deinem Problem Indizes und Werte durcheinandergeraten zu sein. Beginne doch mal mit einem einzigen Punkt:
Wenn Du für einen bestimmten Parameter einen bestimmten Messwert hast, ist das ein einzelner Messpunkt. Z.B. misst Du bei der Entfernung 3.30m die Höhe 2.1m. Dann würdest Du aber nicht "z(3.30) = 2.1" setzen, sondern die Entfernung und die Höhe getrennt speichern. Genau das machst Du bereits.
Wenn Du eine Matrix auf equidistanten Punkten haben möchtest, deren Werte die originalen Werte möglichst gut wieder geben, schaue Dir mal MESHGRID und INTERP2 an.
Gruß, Jan
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
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.
|
|