WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Plotten von Polarkoordinaten für Fallunterscheidung

 

Badvibez
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 14.05.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.05.2016, 15:25     Titel: Plotten von Polarkoordinaten für Fallunterscheidung
  Antworten mit Zitat      
Hallo liebe Matlabgemeinde,

ich möchte einen Vektor V, der aus einem Realteil als auch aus einem Imaginärteil besteht von kartesischen Koordinaten in Polarkoordinaten umwandeln und plotten. Der Vektor besitzt zudem positive als auch negative Werte, die erhalten bleiben sollen.
Für die Transformation von der kartesischen in Polarkoordinaten müsste wohl eine Fallunterscheidung für den Winkel Phi gemacht werden.

Hat jemand eine Idee, wie man das am Besten lösen könnte?
Folgenes habe ich bisher hinbekommen:

Code:
rez = (real(V));
imz = (imag(V));
       
h1 = abs((V)).*((rez < 0) & (imz < 0));
h2 = -abs((V)).*((rez < 0) & (imz > 0));
h3 = abs((V)).*((rez > 0) & (imz < 0));
h4 = -abs((V)).*((rez > 0) & (imz > 0));
phi1 = atan(imz./rez).*(rez > 0);
phi2 = atan (imz./rez)+pi .*(rez < 0 & imz >= 0);
phi3 = atan (imz./rez)-pi .*(rez < 0 & imz < 0);
phi4 = 0.5*pi .*(rez == 0 & imz > 0);
phi5 = -0.5*pi .*(rez == 0 & imz < 0);


Allerdings ist ein sinnvoller plot hiermit wohl nicht möglich.

[EDITED, Jan, Bitte Code-Umgebung verwenden - Danke!]
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 14.05.2016, 15:46     Titel:
  Antworten mit Zitat      
Hallo,

atan2 sollte helfen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Badvibez
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 14.05.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.05.2016, 16:46     Titel:
  Antworten mit Zitat      
Hallo Harald,

vielen Dank für die schnelle Hilfe. Ich versuche durch die oben beschriebenen Bedingungen den Imaginärteil in einen Realteil umzuwandeln und anschließend rein den Realteil zu plotten. Vermutlich müsste rein für den Imaginärteil der Absolutwert berechnet werden.
Mit atan2 funktioniert die Transformation für den Winkel recht gut, jedoch passen die Amplituden meines Vektors noch nicht ganz.
Für P = abs(V)*e^(i*atan2(y,x))
Wobei ich in obiger Gleichung wieder mit i einen imaginären Anteil bekomme.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 14.05.2016, 17:16     Titel:
  Antworten mit Zitat      
Hallo,

zunächst hast du geschrieben, dass du Real- und Imaginärteil in Polarkoordinaten umwandeln willst, und zur Ermittlung des Winkels hilft wie gesagt atan2.

Zitat:
Ich versuche durch die oben beschriebenen Bedingungen den Imaginärteil in einen Realteil umzuwandeln und anschließend rein den Realteil zu plotten.

Das klingt nicht sinnvoll. Ein Imaginärteil kann nicht in einen Realteil "umgewandelt" werden.

Zitat:
jedoch passen die Amplituden meines Vektors noch nicht ganz.

Die Aussage ist wenig hilfreich. Was erwartest du, und inwiefern weichen die erhaltenen Ergebnisse davon ab?

Zitat:
Wobei ich in obiger Gleichung wieder mit i einen imaginären Anteil bekomme.

Ist doch logisch, da e^{ix} = \cos(x) + i \sin(x)

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Badvibez
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 14.05.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.05.2016, 17:39     Titel:
  Antworten mit Zitat      
Hallo Harald,

ich betrachte eine Schwingung die durch den Vektor V beschrieben wird.
Dieser Vektor besitzt einen Real- und einen Imaginärteil. Die harmonische Anregung wird durch eine Sinusfunktion beschrieben.
Durch Umwandlung in Polarkoordinaten habe ich versucht den Imaginärteil wegzubekommen (s.a. erster Beitrag).
Die Frage ist jetzt welchen Teil ich plotten sollte (Imaginär- oder Realteil) oder Betrag, wenn ich eben den Imaginärteil nicht "umwandeln" kann ? Vermutlich den Imaginärteil.
Es handelt sich um eine Kraft die die Amplitude beeinflusst. Im Moment ist die Auslenkung etwas zu groß.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 14.05.2016, 17:43     Titel:
  Antworten mit Zitat      
Hallo,

ich verstehe eher weniger als mehr, was du erreichen möchtest.
Mein Eindruck ist, dass das Problem nun eher in der Anwendung liegt als in der Umsetzung in MATLAB.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Badvibez
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 14.05.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.05.2016, 17:52     Titel:
  Antworten mit Zitat      
Hallo Harald,

erst einmal Danke für deine Geduld und die schnelle Hilfe.
Ist es möglich komplexe Zahlen durch Umrechnung von kartesische Koordinaten in Polarkoordinaten als reelle Zahlen darzustellen?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 14.05.2016, 19:56     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Ist es möglich komplexe Zahlen durch Umrechnung von kartesische Koordinaten in Polarkoordinaten als reelle Zahlen darzustellen?

Komplexe Zahlen können durch (jeweils reellwertige) Real- und Imaginärteile oder durch (jeweils reellwertige) Beträge und Winkel dargestellt werden. Es bleiben aber immer komplexe Zahlen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Badvibez
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 14.05.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.05.2016, 12:16     Titel:
  Antworten mit Zitat      
Hallo Harlad,

Zweiteres ist wohl das was ich meine, wobei der Realteil ebenfalls mit berücksichtigt werden sollte, sodass sich ein Verlauf ergibt, der beide Teile beinhaltet.
Allerdings bin ich ratlos, wie ich das in Matlab umsetzen könnte.
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 16.05.2016, 12:47     Titel:
  Antworten mit Zitat      
Hallo,

der Betrag kann aus Real- und Imaginärteil folgendermaßen gebildet werden:

Code:

y = abs(3+4i)
y =

     5
 


Mit der Funktion angle kann der Winkel aus Real- und Imaginärteil berechnet werden. Das wäre dann die Umrechnung von kartesischen Koordinaten in Polarkoordinaten. Evtl. ist auch noch unwrap nützlich.

Gruß DSP
Private Nachricht senden Benutzer-Profile anzeigen
 
Badvibez
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 14.05.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.05.2016, 14:05     Titel:
  Antworten mit Zitat      
Hallo,

da komme ich auch nicht auf das Ergebnis.
Zur Verdeutlichung was gemeint ist:
Wenn(Realteil < 0 und Imaginärteil < 0: Absolutwert(der komplexen Zahl),
Wenn(Realteil < 0 und Imaginärteil > 0: -Absolutwert(der komplexen Zahl),
Wenn(Realteil > 0 und Imaginärteil < 0: Absolutwert(der komplexen Zahl),
Wenn(Realteil > 0 und Imaginärteil > 0: -Absolutwert(der komplexen Zahl),

und für den Winkel gilt entsprechend:
ϕ = arctan(b/a), für ϕ gilt:
arctan(b/a) , a > 0
arctan(b/a) + pi, a < 0 und b ≥ 0
arctan(b/a) − pi, a < 0 und b < 0
pi/2 , a = 0 und b > 0
−pi/2 , a = 0 und b < 0
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 16.05.2016, 15:52     Titel:
  Antworten mit Zitat      
Ein Betrag ist nun mal vorzeichenlos. Ergo suchst du offensichtlich nicht nach Polarkoordinaten. Denn diese setzen sich nun mal aus Betrag und Phase zusammen.

Wo ist das Problem, deine gewünschte Umwandlung in einer for-Schleife durchzuführen und die verschiedenen Fälle mit if und elseif entsprechend zu unterscheiden?
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.