cacoshf, cacosh, cacoshl
來自 cppreference.com
定義在標頭檔案 <complex.h> 中 |
||
(1) | (C99 起) | |
(2) | (C99 起) | |
(3) | (C99 起) | |
定義於標頭檔案 <tgmath.h> |
||
#define acosh( z ) |
(4) | (C99 起) |
1-3) 計算複數 `z` 的複數反雙曲餘弦,其分支切割在實軸上小於 1 的值處。
4) 型別通用宏:如果 `z` 的型別是 long double complex,則呼叫 `cacoshl`。如果 `z` 的型別是 double complex,則呼叫 `cacosh`。如果 `z` 的型別是 float complex,則呼叫 `cacoshf`。如果 `z` 是實數或整數,則宏呼叫相應的實數函式(acoshf、acosh、acoshl)。如果 `z` 是虛數,則宏呼叫相應的複數版本,返回型別為複數。
目錄 |
[編輯] 引數
z | - | 複數引數 |
[編輯] 返回值
複數 `z` 的複數反雙曲餘弦,在實軸上處於區間 [0; ∞),在虛軸上處於區間 [−iπ; +iπ]。
[編輯] 錯誤處理和特殊值
錯誤按照 math_errhandling 報告
如果實現支援 IEEE 浮點算術,
- cacosh(conj(z)) == conj(cacosh(z))
- 如果 `z` 為 `±0+0i`,結果為 `+0+iπ/2`
- 如果 `z` 為 `+x+∞i`(對於任何有限 x),結果為 `+∞+iπ/2`
- 如果 `z` 為 `+x+NaNi`(對於非零有限 x),結果為 `NaN+NaNi`,並且可能引發 FE_INVALID。
- 如果 `z` 為 `0+NaNi`,結果為 `NaN±iπ/2`,其中虛部的符號未指定
- 如果 `z` 為 `-∞+yi`(對於任何正有限 y),結果為 `+∞+iπ`
- 如果 `z` 為 `+∞+yi`(對於任何正有限 y),結果為 `+∞+0i`
- 如果 `z` 為 `-∞+∞i`,結果為 `+∞+3iπ/4`
- 如果 `z` 為 `+∞+∞i`,結果為 `+∞+iπ/4`
- 如果 `z` 為 `±∞+NaNi`,結果為 `+∞+NaNi`
- 如果 `z` 為 `NaN+yi`(對於任何有限 y),結果為 `NaN+NaNi`,並且可能引發 FE_INVALID。
- 如果 `z` 為 `NaN+∞i`,結果為 `+∞+NaNi`
- 若
z
為NaN+NaNi
,則結果為NaN+NaNi
[編輯] 注意
儘管 C 標準將此函式命名為“複數反雙曲餘弦”,但雙曲函式的反函式是面積函式。它們的引數是雙曲扇形的面積,而不是弧。正確的名稱是“複數反雙曲餘弦”,或者不那麼常見的“複數面積雙曲餘弦”。
反雙曲餘弦是一個多值函式,需要在複平面上進行分支切割。分支切割通常位於實軸的線段 (-∞,+1)。
反雙曲餘弦主值的數學定義是 acosh z = ln(z + √z+1 √z-1)
對於任何 z,acosh(z) =√z-1 |
√1-z |
[編輯] 示例
執行此程式碼
#include <stdio.h> #include <complex.h> int main(void) { double complex z = cacosh(0.5); printf("cacosh(+0.5+0i) = %f%+fi\n", creal(z), cimag(z)); double complex z2 = conj(0.5); // or cacosh(CMPLX(0.5, -0.0)) in C11 printf("cacosh(+0.5-0i) (the other side of the cut) = %f%+fi\n", creal(z2), cimag(z2)); // in upper half-plane, acosh(z) = i*acos(z) double complex z3 = casinh(1+I); printf("casinh(1+1i) = %f%+fi\n", creal(z3), cimag(z3)); double complex z4 = I*casin(1+I); printf("I*asin(1+1i) = %f%+fi\n", creal(z4), cimag(z4)); }
輸出
cacosh(+0.5+0i) = 0.000000-1.047198i cacosh(+0.5-0i) (the other side of the cut) = 0.500000-0.000000i casinh(1+1i) = 1.061275+0.666239i I*asin(1+1i) = -1.061275+0.666239i
[編輯] 參考
- C11 標準 (ISO/IEC 9899:2011)
- 7.3.6.1 cacosh 函式 (p: 192)
- 7.25 型別通用數學 <tgmath.h> (p: 373-375)
- G.6.2.1 cacosh 函式 (p: 539-540)
- G.7 型別通用數學 <tgmath.h> (p: 545)
- C99 標準 (ISO/IEC 9899:1999)
- 7.3.6.1 cacosh 函式 (p: 174)
- 7.22 型別通用數學 <tgmath.h> (p: 335-337)
- G.6.2.1 cacosh 函式 (p: 474-475)
- G.7 型別通用數學 <tgmath.h> (p: 480)
[編輯] 另請參閱
(C99 起)(C99 起)(C99 起) |
計算復反餘弦 (函式) |
(C99 起)(C99 起)(C99 起) |
計算復反雙曲正弦 (函式) |
(C99 起)(C99 起)(C99 起) |
計算復反雙曲正切 (函式) |
(C99 起)(C99 起)(C99 起) |
計算復雙曲餘弦 (函式) |
(C99 起)(C99 起)(C99 起) |
計算反雙曲餘弦 (arcosh(x)) (函式) |
C++ 文件 適用於 acosh
|