Rhetos
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 9 Ω


Fortran90 atan2


Anschauliche Erklärung | Schritt für Schritt


Basiswissen


Was muss man vorab über komplexe Zahlen wissen?


Was macht atan2?



Welche Rolle spielt das Vorzeichen?



Was kann bei atan2 verwirrend?



Macht die Verwirrung Sinn?



Wie sieht die Syntax aus?



Wie sähen Beispielrechnungen aus?



Geht auch atan2(z)?



Gibt es eine Alternative?





Fortran90 atan2


Anschauliche Erklärung | Schritt für Schritt

Was muss man vorab über komplexe Zahlen wissen?

  • Komplexe Zahlen z haben verschiedene Darstellungsformen.
  • In der kartesischen Form z=a+bi ist ...
  • a der Realteil, entspricht dem x-Wert und ...
  • b der Imaginärteil, entspricht dem y-Wert.
  • In der Polarform geht ein Vektor von (0|0) zu (a|b).
  • Die Polarform ist: z=r*[e hoch (i mal phi)] und ...
  • r ist der Betrag von z, bzw. die Länge des Vektors und ...
  • phi ist der Winkel zur x-Achse.

Was macht atan2?


  • Wenn a und b aus der kartesischen Form bekannt sind,
  • dann berechnet Atan2 den Winkel phi zu x-Achse.
  • Der Winkel wird dabei im Bogenmaß ausgegben.

Welche Rolle spielt das Vorzeichen?


  • Der Winkel phi kann positiv oder negativ sein.
  • Positves phi meint: Komplexe Zahl liegt oberhalb der x-Achse.
  • Negatives phi meint: Komplexe Zahl liegt unterhalb der x-Achse.
  • Anders gesagt: positives phi: Drehrichtung gegen Uhrzeigersinn.
  • Negatives phi: Drehrichtung im Uhrzeigersinn weg von x-Achse.

Was kann bei atan2 verwirrend?


  • Achtung: Der Befehl verwendet vertauschte x- und y-Werte.
  • Die erste Zahl in der Klammer ist der Imaginärteil (y).
  • Die zweite Zahl in der Klammer ist der Realteil (x).
  • atan(1.0,0.0) meint also einen Punkt auf der y-Achse.
  • Das Zahlenergebnis wäre hier etwa: 1,57 (Winkel in Rad).
  • 1,57 in Rad entsprechen 90 Grad. Das passt.

Macht die Verwirrung Sinn?


  • Ja, atan2 baut gedanklich auf dem Tangens auf.
  • Beim Tangens rechnet man Gegenkathete durch Ankathete.
  • Die Gegenkathete wäre immer der y-Wert.
  • Atan2 verwendet diese Reihenfolge.

Wie sieht die Syntax aus?


  • atan2(real,real)
  • real meint, dass hier als reell deklarierte Zahlen stehen müssen.
  • Verwendet man konstante Zahlen, müssen sie mit Komma geschrieben werden:
  • atan2(4,3) ginge nicht.
  • atan2(4.0,3.0) ginge.

Wie sähen Beispielrechnungen aus?


  • z=(10+0i) über atan(0.0,10.0) gibt phi=0 (0 Grad)
  • z=(0+10i) über atan(10.0,0) gibt phi=1,57 (90 Grad)
  • z=(-10+0i) über atan(0.0,-10.0) gibt phi=3,14 (180 Grad)
  • z=(0,-10i) über atan(-10.0,0.0) gibt phi=-1,57 (-90 Grad)

Geht auch atan2(z)?


  • Angenommen z wäre eine komplexe Zahl, ginge das?
  • Nein, weil atan2 immer zwei Argumente braucht.
  • Eine relle Zahl z ist aber nur ein Argument.

Gibt es eine Alternative?


  • Ja, aber erst ab Fortran 2008.
  • Dort ginge atan(z).