Anschließend möchte ich von dieser Funktion noch den Betrag plotten. Die Abbildung dazu sieht man ebenfalls auf der Seite 25 des obigen Links (vgl. Abbildung c -> |U|).
Würde mich freuen, wenn mir jemand weiterhelfen könnte, da ich erst seit kurzem mit Matlab arbeite.
Sollten Informationen fehlen und/oder etwas unklar formuliert worden sein, bitte einfach melden.
generell würde ich empfehlen, Variablennamen zu verwenden, die an den Formeln angelehnt sind. Das macht das deutlich nachvollziehbarer.
Mögliche Probleme:
* real bezieht sich bei momentaner Klammernsetzung nur auf den ersten Summanden
* Die Matrix zu t ist X. Du verwendest aber exp(1i*w*Y). Möglicherweise hast du die beiden genau vertauscht?
Eine weitere Frage ist, wie die berechneten Punkte miteinander verbunden werden sollen. plot3 arbeitet standardmäßig spaltenweise. Das ist wohl nicht das, was im PDF gemacht wird. Davon abgesehen, dass dort anscheinend Realteil in Abhängigkeit von z und Imaginärteil geplottet wird.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
vielen Dank, das hat mir schonmal sehr weitergeholfen.
Zitat:
Mögliche Probleme:
* real bezieht sich bei momentaner Klammernsetzung nur auf den ersten Summanden
* Die Matrix zu t ist X. Du verwendest aber exp(1i*w*Y). Möglicherweise hast du die beiden genau vertauscht?
Damit bekomme ich nun schonmal den Verlauf der Betragsfunktion.
Zitat:
Eine weitere Frage ist, wie die berechneten Punkte miteinander verbunden werden sollen. plot3 arbeitet standardmäßig spaltenweise. Das ist wohl nicht das, was im PDF gemacht wird. Davon abgesehen, dass dort anscheinend Realteil in Abhängigkeit von z und Imaginärteil geplottet wird.
Das stimmt natürlich. Meine Frage wäre dann, wie ich die Funktion bzw. den plot-Befehl umzuschreiben habe, damit die Funktion in Abhängigkeit von z und Imaginärteil geplottet wird bzw. welchen plot du dafür empfehlen würdest.
Damit bekomme ich nun schonmal den Verlauf der Betragsfunktion.
Du bekommst die Betragsfunktion? Du plottest aber doch den Realteil?
Mich wundert zudem, dass die Zeilen von Z alle fast gleich sind. Ist das das, was du erwartest?
Du kannst den Imaginärteil ähnlich wie den Realteil berechnen:
g=@(X,Y)(imag(Ua.*exp(-gamma*X).*exp(1i*w*Y))+imag(Ub.*exp(gamma*X).*exp(1i*w*Y)));
Z2=g(X,Y);
Bei Z2 sind aber dann wiederum die Spalten sehr ähnlich.
Dann ginge:
surf(X,Z2,Z);
Bedingt durch die Ähnlichkeit von Zeilen bzw. Spalten in Z und Z2 sieht das aber halt nicht nach einer Fläche aus.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
vielen Dank. Das macht visuell gleich ein viel besseren Eindruck!
Zitat:
Du bekommst die Betragsfunktion? Du plottest aber doch den Realteil?
Das stimmt. Der Satz ist unglücklich bzw. mehr oder weniger unüberlegt formuliert. Ich hatte anfangs vor die Dämpfung anhand der Betragsfunktion darzustellen, allerdings reicht mir dafür auch der Realteil der Funktion.
Den Imaginärteil habe ich gestern genauso wie du noch berechnet bekommen. Aber vielen Dank für die Bestätigung.
Zitat:
Mich wundert zudem, dass die Zeilen von Z alle fast gleich sind. Ist das das, was du erwartest?
Verglichen mit dem Verlauf unter c) zeigen sich dann natürlich einige Unterschiede. Ich weiß nicht ob Matlab vlt. Schwierigkeiten bei der Überlagerung hat, denn wenn ich die gesamte Funktion plotte, bspw.:
Wenn dir noch eine Idee kommt, wie man den Verlauf unter c) simulieren könnte lass es mich bitte wissen, ansonsten würde ich aber erstmal mit den Teilwellen arbeiten. Diese sollten zumindest schon einmal ausreichen, um meinen Sachverhalt zu erläutern.
Ansonsten versuche ich momentan in die Graphen der beiden Teilwellen noch einen Pfeil beginnend vom Ursprung aller drei Achsen in x-Richtung zu legen. Dies hat auch soweit funktioniert (sieht obigen Code), allerdings dreht sich die Pfeilspitze mit, je nachdem wie ich den plot drehe. Kann man diesen fixieren, so dass er nur in x-Richtung zeigt?
Ich weiß nicht ob Matlab vlt. Schwierigkeiten bei der Überlagerung hat, denn wenn ich die gesamte Funktion plotte
Ich denke eher, dass das Problem die unterschiedliche Skalierung ist. Die Vorwärtswelle hat Real- und Imaginärteile von betragsweise max. 2, die Rückwärtswelle von max. 100. Die 2 sieht man halt auf der Skala von 100 kaum.
Zitat:
Wenn dir noch eine Idee kommt, wie man den Verlauf unter c) simulieren könnte
Ich verstehe nicht, was dort gemacht werden soll. Die Achsenbeschriftung ist ja sehr ähnlich wie in der Graphik darüber, nur das Bild sieht recht kreativ aus.
Zitat:
allerdings dreht sich die Pfeilspitze mit, je nachdem wie ich den plot drehe.
Man dreht nicht den plot, sondern das gesamte Koordinatensystem. Du könntest höchstens versuchen, den Pfeil außerhalb des Koordinatensystems zu erstellen.
Oder den Pfeil selbst erstellen, z.B. mit die Linie an sich mit plot und die Pfeilspitze mit fill oder so.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Ich denke eher, dass das Problem die unterschiedliche Skalierung ist. Die Vorwärtswelle hat Real- und Imaginärteile von betragsweise max. 2, die Rückwärtswelle von max. 100. Die 2 sieht man halt auf der Skala von 100 kaum.
+
Zitat:
Ich verstehe nicht, was dort gemacht werden soll. Die Achsenbeschriftung ist ja sehr ähnlich wie in der Graphik darüber, nur das Bild sieht recht kreativ aus.
Super, dass hat mir geholfen. Ich hatte die Amplituden Ua und Ub anfangs auf denselben Wert gesetzt. Weiterhin war in meinem Code für die Vor-und rückwärts laufende Welle der Fehler, dass ich für beide die gleiche Amplitude (Ua) verwendet habe (Copy&Paste...). Auch habe ich einfach mal die Frequenz reduziert, dann sieht das ganze gleich viel ansehnlicher aus.
Man dreht nicht den plot, sondern das gesamte Koordinatensystem. Du könntest höchstens versuchen, den Pfeil außerhalb des Koordinatensystems zu erstellen.
Oder den Pfeil selbst erstellen, z.B. mit die Linie an sich mit plot und die Pfeilspitze mit fill oder so.
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
"mesh" gefällt mir für die Grafiken bisher am besten. Auch der Pfeil ist genau das wonach ich gesucht habe. Vielen Dank für die ganze Unterstützung!
In den kommenden Tagen werde ich versuchen das ganze numerisch zu lösen, mal schauen was das gibt.
Grüße
Martin
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.