Plotten Komplexe Zahlen < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 16:58 Mi 27.05.2009 | Autor: | mb588 |
Hey.
Ich hab mal ne Frage zum Plotten von komplexen Werten. Und zwar habe ich ein reellen Vektor vorgegeben und multipliziere den mit einer komplexen Matrix. Was ich denn erhalte ist wieder ein Vektor aber der ist denn Komplex. Diesen möchte ich gern Plotten und zwar mit der stem Funktion. Ich habe eine bestimmt vorstellung, was dabei rauskommen soll, aber das kommt leider nicht raus.
Kann mir einer Tipps oder Hinweise geben wir man mit dem Plotten von Kompklexen zahlen umgeht?
|
|
|
|
> Hey.
> Ich hab mal ne Frage zum Plotten von komplexen Werten. Und
> zwar habe ich ein reellen Vektor vorgegeben und
> multipliziere den mit einer komplexen Matrix. Was ich dann
> erhalte ist wieder ein Vektor aber der ist dann Komplex.
> Diesen möchte ich gern Plotten und zwar mit der stem
> Funktion. Ich habe eine bestimmte Vorstellung, was dabei
> rauskommen soll, aber das kommt leider nicht raus.
> Kann mir einer Tipps oder Hinweise geben wir man mit dem
> Plotten von komplexen Zahlen umgeht?
Eine komplexe Zahl hat zwei reelle Komponenten
und kann deshalb als Punkt in der (Gaußschen) x-y-
Ebene dargestellt werden.
Was mit der "stem" - Funktion in diesem Zusammenhang
gemeint ist, weiss ich nicht. Ferner ist nicht klar,
in welcher Programmierumgebung du arbeiten willst.
LG
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 18:02 Mi 27.05.2009 | Autor: | Frasier |
> Was mit der "stem" - Funktion in diesem Zusammenhang
> gemeint ist, weiss ich nicht. Ferner ist nicht klar,
> in welcher Programmierumgebung du arbeiten willst.
Hallo,
da im Matlab-Forum geschrieben wurde ist eigentlich alles bis auf das Problem klar.
lg
F.
|
|
|
|
|
> da im Matlab-Forum geschrieben wurde ist eigentlich alles
> bis auf das Problem klar.
oh je, da hab' ich wieder einmal verpasst, den kompletten
Pfad der Frage zu beachten ...
Al-Chw.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 19:23 Mi 27.05.2009 | Autor: | mb588 |
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 19:24 Mi 27.05.2009 | Autor: | mb588 |
Es ist ja so...wenn ich eine reelle Zahl darstellen will denn trägt er das ja in der x-y-Ebene einfach auf. Hab ich jetzt
for k=1:10
x(k)=k;
end;
und y ist ein aus 10 reellen Komponenten bestehender Vektor denn Plottet er mir das ja mit plot(x,y) ganz normal in der x-y-Umgebung.
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 19:41 Mi 27.05.2009 | Autor: | Frasier |
Ja, aber was ist jetzt die Frage?
Zur Darstellung von komplexen Zahlen wird der Imaginärteil über dem Realteil aufgetragen.
Wenn z ein Vektor mit komplexen Zahlen ist mach mal plot(real(z),imag(z))
lg
F.
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 19:47 Mi 27.05.2009 | Autor: | mb588 |
> Zur Darstellung von komplexen Zahlen wird der Imaginärteil
> über dem Realteil aufgetragen.
Ja das ist mir ja ganz klar. Aber x soll jetzt nur Zahlen von eins bis 10 sein und ich will die Komplexe Komponente von y jetzt über x auftragen.
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 20:32 Mi 27.05.2009 | Autor: | Frasier |
Dann nimmst du einfach plot(x,imag(y));
Aber du wolltest doch irgendwas mit stem machen, oder?
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 21:07 Mi 27.05.2009 | Autor: | mb588 |
Ah achso...ne so ist das schon ok...hab mit dem gedanken gespielt, aber ich mach das doch anders. Ich hab aber noch ein Problem und zwar möchte ich ein Rechtecksignal abtasten mit einem Vektor der Länge N. Folgendes hab ich:
for k=1:N/2;
a(k)=1;
end;
for k=N/2+1:N
a(k)=-1;
end;
a(1)=0;
Damit hab ich das zwar auf den Werten 1 und -1 abgetastet, aber ich will auch noch den zwischenwert, also der Übergang von 1 zu -1 abtasten, also da wo denn a auch Null ist. Aber das klappt irgendwie nicht, weil dieser Wert denn immer verschoben ist.
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 21:26 Mi 27.05.2009 | Autor: | Frasier |
Verstehe nicht, was du mit abtasten meinst.
Aber zwischen N/2 und N/2+1 (also da wo der Nulldurchgang ist) kann ja kein Punkt sein.
lg
F.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 22:50 Mi 27.05.2009 | Autor: | mb588 |
Ah ne ist schon gut ich hab es hinbekommen :D
Aber trotzdem danke für deine Hilfe
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 22:55 Mi 27.05.2009 | Autor: | mb588 |
Ein Problem hab ich dennoch ;)
Und zwar möchte ich mit dem Befehl fprintf mir Komplexe Zahlen in einer Testdatei schreiben lassen.
Man nimmt ja:
fprintf(fid1,'%3.5f',W(k,l));
wobei denn W halt kompelxe einträge hat. Aber so wie es dasteht schreib er mir nur den Realanteil...würde aber gerne die ganze Komplexe Zahl haben.
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 09:13 Do 28.05.2009 | Autor: | Frasier |
Hallo,
das kannst du ja wieder wie oben in Realteil und Imaginärteil aufspalten. Wenn du das z.B. durch Tabs getrennt in eine Tabelle schreibst kann man es später auch bequem wieder einlesen.
1: | W=[1,1+2i,2+1i,2+3i];
| 2: | fid=fopen('ausgabe.txt','wt');
| 3: | fprintf(fid,'%s\t%s\n','Re','Im');
| 4: | fprintf(fid,'%f\t%f\n',[real(W); imag(W)]);
| 5: | fclose(fid); |
lg
F.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 17:59 Mi 27.05.2009 | Autor: | Frasier |
Hallo mb588,
was ist den deine Vorstellung von dem, was da raus kommen soll?
stem wird bei einem komplexen Vektor die Imaginärteile plotten. Mit real und imag kannst du komplexe Zahlen aber zerlegen.
1: | v=1:5;
| 2: | M=sqrt(-1+2*rand(5));
| 3: | w=v*M;
| 4: | subplot(3,1,1)
| 5: | stem(w);
| 6: | title('$\displaystyle Im(w)$','interpreter','latex');
| 7: | subplot(3,1,2)
| 8: | stem(real(w));
| 9: | title('$\displaystyle Re(w)$','interpreter','latex');
| 10: | subplot(3,1,3);
| 11: | stem(sqrt(real(w).^2+imag(w).^2));
| 12: | title('$\displaystyle \sqrt{Re(w)^2+Im(w)^2}$','interpreter','latex'); |
lg
F.
|
|
|
|