csinf, csin, csinl
From cppreference.net
|
ヘッダー
<complex.h>
で定義
|
||
| (1) | (C99以降) | |
| (2) | (C99以降) | |
| (3) | (C99以降) | |
|
ヘッダー
<tgmath.h>
で定義
|
||
|
#define sin( z )
|
(4) | (C99以降) |
1-3)
複素数
z
の正弦を計算します。
4)
型総称マクロ:
z
の型が
long
double
complex
の場合、
csinl
が呼び出される。
z
の型が
double
complex
の場合、
csin
が呼び出される。
z
の型が
float
complex
の場合、
csinf
が呼び出される。
z
が実数または整数の場合、マクロは対応する実数関数(
sinf
、
sin
、
sinl
)を呼び出す。
z
が虚数の場合、マクロは関数
sinh
の対応する実数版を呼び出し、公式
sin(iy) = i ∙ sinh(y)
を実装し、マクロの戻り値の型は虚数型となる。
目次 |
パラメータ
| z | - | 複素引数 |
戻り値
エラーが発生しない場合、
z
の複素正弦値。
エラーおよび特殊ケースは、この操作が以下のように実装されているかのように処理されます。 - I * csinh ( I * z )
注記
正弦関数は複素平面上で整関数であり、分岐切断を持ちません。
Mathematical definition of the sine is sin z =|
e
iz
-e -iz |
| 2i |
例
このコードを実行
#include <stdio.h> #include <math.h> #include <complex.h> int main(void) { double complex z = csin(1); // 実数軸上では実数の正弦関数のように振る舞う printf("sin(1+0i) = %f%+fi ( sin(1)=%f)\n", creal(z), cimag(z), sin(1)); double complex z2 = csin(I); // 虚数軸上では双曲線正弦関数のように振る舞う printf("sin(0+1i) = %f%+fi (sinh(1)=%f)\n", creal(z2), cimag(z2), sinh(1)); }
出力:
sin(1+0i) = 0.841471+0.000000i ( sin(1)=0.841471) sin(0+1i) = 0.000000+1.175201i (sinh(1)=1.175201)
参考文献
- C17規格 (ISO/IEC 9899:2018):
-
- 7.3.5.5 csin関数群 (p: 138-139)
-
- 7.25 総称型数学 <tgmath.h> (p: 272-273)
-
- G.7 総称型数学 <tgmath.h> (p: 397)
- C11規格 (ISO/IEC 9899:2011):
-
- 7.3.5.5 csin関数群 (p: 191-192)
-
- 7.25 総称型数学 <tgmath.h> (p: 373-375)
-
- G.7 総称型数学 <tgmath.h> (p: 545)
- C99規格 (ISO/IEC 9899:1999):
-
- 7.3.5.5 csin関数 (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)
|
正弦を計算する (
sin(x)
)
(関数) |
|
C++ documentation
for
sin
|
|