ctanhf, ctanh, ctanhl
來自 cppreference.com
定義在標頭檔案 <complex.h> 中 |
||
(1) | (C99 起) | |
(2) | (C99 起) | |
(3) | (C99 起) | |
定義於標頭檔案 <tgmath.h> |
||
#define tanh( z ) |
(4) | (C99 起) |
1-3) 計算
z
的復雙曲正切。4) 型別通用宏:如果
z
的型別是 long double complex,則呼叫 ctanhl
。如果 z
的型別是 double complex,則呼叫 ctanh
。如果 z
的型別是 float complex,則呼叫 ctanhf
。如果 z
是實數或整數,則該宏呼叫對應的實函式(tanhf、tanh、tanhl)。如果 z
是虛數,則該宏呼叫對應的實數版函式 tan,實現公式 tanh(iy) = i tan(y),並且返回型別是虛數。目錄 |
[編輯] 引數
z | - | 複數引數 |
[編輯] 返回值
如果沒有錯誤發生,返回 z
的復雙曲正切。
[編輯] 錯誤處理和特殊值
錯誤按照 math_errhandling 報告
如果實現支援 IEEE 浮點算術,
- ctanh(conj(z)) == conj(ctanh(z))
- ctanh(-z) == -ctanh(z)
- 如果
z
是+0+0i
,結果是+0+0i
- 如果
z
是x+∞i
(對於任何[1]有限的 x),結果是NaN+NaNi
並引發 FE_INVALID - 如果
z
是x+NaN
(對於任何[2]有限的 x),結果是NaN+NaNi
並可能引發 FE_INVALID - 如果
z
是+∞+yi
(對於任何有限的正 y),結果是1+0i
- 如果
z
是+∞+∞i
,結果是1±0i
(虛部的符號未指定) - 如果
z
是+∞+NaNi
,結果是1±0i
(虛部的符號未指定) - 如果
z
是NaN+0i
,結果是NaN+0i
- 如果
z
是NaN+yi
(對於任何非零 y),結果是NaN+NaNi
並可能引發 FE_INVALID - 若
z
為NaN+NaNi
,則結果為NaN+NaNi
[編輯] 注意
雙曲正切的數學定義是 tanh z =ez -e-z |
ez +e-z |
雙曲正切是複平面上的解析函式,沒有分支切口。它對虛部是週期性的,週期為 πi,並且在虛線上、座標 (0, π(1/2 + n)) 處有一階極點。然而,沒有常見的浮點表示能夠精確表示 π/2,因此沒有引數值會導致極點錯誤。
[編輯] 示例
執行此程式碼
#include <stdio.h> #include <math.h> #include <complex.h> int main(void) { double complex z = ctanh(1); // behaves like real tanh along the real line printf("tanh(1+0i) = %f%+fi (tanh(1)=%f)\n", creal(z), cimag(z), tanh(1)); double complex z2 = ctanh(I); // behaves like tangent along the imaginary line printf("tanh(0+1i) = %f%+fi ( tan(1)=%f)\n", creal(z2), cimag(z2), tan(1)); }
輸出
tanh(1+0i) = 0.761594+0.000000i (tanh(1)=0.761594) tanh(0+1i) = 0.000000+1.557408i ( tan(1)=1.557408)
[編輯] 參考
- C11 標準 (ISO/IEC 9899:2011)
- 7.3.6.6 ctanh 函式 (p: 194)
- 7.25 型別通用數學 <tgmath.h> (p: 373-375)
- G.6.2.6 ctanh 函式 (p: 542)
- G.7 型別通用數學 <tgmath.h> (p: 545)
- C99 標準 (ISO/IEC 9899:1999)
- 7.3.6.6 ctanh 函式 (p: 176)
- 7.22 型別通用數學 <tgmath.h> (p: 335-337)
- G.6.2.6 ctanh 函式 (p: 477)
- G.7 型別通用數學 <tgmath.h> (p: 480)
[編輯] 另請參閱
(C99)(C99)(C99) |
計算復雙曲正弦 (函式) |
(C99)(C99)(C99) |
計算復雙曲餘弦 (函式) |
(C99)(C99)(C99) |
計算復反雙曲正切 (函式) |
(C99)(C99) |
計算雙曲正切 (tanh(x)) (函式) |
C++ 文件 適用於 tanh
|