Fortran90 atan2
Anschauliche Erklärung | Schritt für Schritt
Basiswissen
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).
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).