Problem bei Matlab < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 15:38 Di 08.02.2005 | Autor: | kaoote |
Ich mache ein Projekt über Iterationen von Matrizen.
Auf jedenfall komme ich nicht mehr weiter!
ich möchte mit Matlab mehrere Ellipsen zeichnen die mit einer Drehmatrix gedreht werden. Das ganze schaut dann so aus.
t=0:pi/180:2*pi;
x=0.3*cos(t);
y=sin(t);
[x' y']*[0 1;-1 0];
hier habe ich eine Ellipse um 90 Grad gedreht.
nun möchte ich aber viele Ellipsen zeichnen und die werden alle nur immer ein bisschen gedreht.
Das ganze mache ich mithilfe eines Parameters den wir jetzt p nennen in der drehmatrix.
also m=[0 p;-p 0];
p=0:1/20:1
nun geht das ganze so nicht, denn p wird wieder als matrix dargestellt und es funktioniert einfach nicht, also versuchte ich es mit dem for befehl!
das ganze sieht dann so aus:
for p=0:1/20:1
m=[0 p;-p 0]
L=[x' y']*m
end
nun macht er das auch ganz schön, er berechnet nun die 20 Ellipsen!
Nun kommt das Problem!
wie Plotte ich die? denn in L gespeichert ist jeweils nur die letzte Ellipse!
wie kann ich es machen, dass Matlab alle Ellipsen irgendwo speichert?
Hab da mal so an indices gedacht und so aber irgendwie nix gefunden!
helft mir bitte.
oder guckt es euch mal an und joa, wenn etwas nicht ganz klar sein sollte, so dürft ihr ruhig fragen!
danke
mfg
KaooTe
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Hallo Urs,
ja mit MATLAB und seinen Indices hat man so seine Schwierigkeiten.
Du lässt am besten nicht p laufen, sondern einen Index i, und berechnest daraus p.
Also:
for i=0:20
p=i/20
Jetzt würdest du gerne jede einzelne Ellipse in L speichern. Das kannst du, indem du auf einen dritten Index ausweichst, d.h.
L(:,:,i+1)=[x' y']*m
So kriegst du alle Matrizen gespeichert.
PS: [0 p;-p 0] ist keine Drehmatrix. :-P
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 13:54 Mi 09.02.2005 | Autor: | kaoote |
Man das haut mich ja vom Sockel! Dass das so schön geht, hui... Hab jetzt doch Stundenlang daran herumprobiert, alles versucht. Naja ein rieeses dankeschön!
Ja irgendwie kam ich eben auch darauf dass das irgendwie gar keine Drehmatrix ist! Wir haben Matrizen eben gar noch nicht behandelt und das habe ich irgendwo aus einem Buch rausgefischt!
Tjo jetzt hätte ich noch ein Problem, wie Plotte ich den das ganze?
Also wenn man es auf die logische Art und Weise versucht geht es nicht.
for i=0:20
p=i/20
L(:,:,i+1)=[x' y']*m;
plot(L(:,1,i+1),L(:,2,i+1))
end
da zeichnet er nur die letzte Ellipse!
Gibt es da nicht eine einfachere Variante als alle plots mit hold on einzugeben?
Vielleicht irgendwas mit den Tools, habe Matlab 7.0 mit ziemlich vielen Tools und chrams und so!
Aber wirklich hammer Forum, hätte nie so schnell mit so einer guten Antwort gerechnet!
Ich danke dir :)
mfg
KaooTe
|
|
|
|