catanf, catan, catanl
From cppreference.net
|
ヘッダー
<complex.h>
で定義
|
||
| (1) | (C99以降) | |
| (2) | (C99以降) | |
| (3) | (C99以降) | |
|
ヘッダー
<tgmath.h>
で定義
|
||
|
#define atan( z )
|
(4) | (C99以降) |
1-3)
虚軸に沿った区間
[−i,+i]
の外側に分岐切断を持つ
z
の複素逆正接を計算します。
4)
型総称マクロ:
z
の型が
long
double
complex
の場合、
catanl
が呼び出される。
z
の型が
double
complex
の場合、
catan
が呼び出される。
z
の型が
float
complex
の場合、
catanf
が呼び出される。
z
が実数または整数の場合、マクロは対応する実数関数(
atanf
、
atan
、
atanl
)を呼び出す。
z
が虚数の場合、マクロは関数
atanh
の対応する実数バージョンを呼び出し、公式
atan(iy) = i atanh(y)
を実装し、マクロの戻り値の型は虚数型となる。
目次 |
、
、
パラメータ
| z | - | 複素引数 |
戻り値
エラーが発生しない場合、複素数のアークタンジェントが
z
の値に対して返されます。その値は、虚軸に沿っては非有界の帯域内にあり、実軸に沿っては区間
[−π/2; +π/2]
内にあります。
エラーおよび特殊ケースは、この操作が - I * catanh ( I * z ) によって実装されているかのように処理されます。
注記
逆正接(またはアークタンジェント)は多価関数であり、複素平面上で分岐切断を必要とします。分岐切断は慣例的に、虚軸上の線分 (-∞i,-i) および (+i,+∞i) に配置されます。
The mathematical definition of the principal value of inverse tangent is atan z = -| 1 |
| 2 |
例
このコードを実行
#include <stdio.h> #include <float.h> #include <complex.h> int main(void) { double complex z = catan(2*I); printf("catan(+0+2i) = %f%+fi\n", creal(z), cimag(z)); double complex z2 = catan(-conj(2*I)); // or CMPLX(-0.0, 2) printf("catan(-0+2i) (the other side of the cut) = %f%+fi\n", creal(z2), cimag(z2)); double complex z3 = 2*catan(2*I*DBL_MAX); // or CMPLX(0, INFINITY) printf("2*catan(+0+i*Inf) = %f%+fi\n", creal(z3), cimag(z3)); }
出力:
catan(+0+2i) = 1.570796+0.549306i catan(-0+2i) (the other side of the cut) = -1.570796+0.549306i 2*catan(+0+i*Inf) = 3.141593+0.000000i
参考文献
- C11規格 (ISO/IEC 9899:2011):
-
- 7.3.5.3 catan関数群 (p: 191)
-
- 7.25 総称数学 <tgmath.h> (p: 373-375)
-
- G.7 総称数学 <tgmath.h> (p: 545)
- C99規格 (ISO/IEC 9899:1999):
-
- 7.3.5.3 catan関数群 (p: 173)
-
- 7.22 総称数学 <tgmath.h> (p: 335-337)
-
- G.7 総称数学 <tgmath.h> (p: 480)
関連項目
|
(C99)
(C99)
(C99)
|
複素数の逆正弦を計算する
(関数) |
|
(C99)
(C99)
(C99)
|
複素数の逆余弦を計算する
(関数) |
|
(C99)
(C99)
(C99)
|
複素数の正接を計算する
(関数) |
|
(C99)
(C99)
|
逆正接 (
arctan(x)
) を計算する
(関数) |
|
C++ドキュメント
for
atan
|
|