clogf, clog, clogl
來自 cppreference.com
定義在標頭檔案 <complex.h> 中 |
||
(1) | (C99 起) | |
(2) | (C99 起) | |
(3) | (C99 起) | |
定義於標頭檔案 <tgmath.h> |
||
#define log( z ) |
(4) | (C99 起) |
1-3) 計算
z
的複數自然(以 e 為底)對數,其分支切割沿負實軸。4) 型別泛型宏:如果
z
的型別為 long double complex,則呼叫 clogl
。如果 z
的型別為 double complex,則呼叫 clog
;如果 z
的型別為 float complex,則呼叫 clogf
。如果 z
是實數或整數,則宏呼叫相應的實數函式(logf、log、logl)。如果 z
是虛數,則呼叫相應的複數版本。目錄 |
[編輯] 引數
z | - | 複數引數 |
[編輯] 返回值
如果未發生錯誤,則返回 z
的複數自然對數,其範圍在沿虛軸的區間 [−iπ, +iπ] 的條帶內,沿實軸在數學上無界。
[編輯] 錯誤處理與特殊值
錯誤按照 math_errhandling 報告
如果實現支援 IEEE 浮點算術,
- 函式在分支切割上是連續的,並考慮虛部的符號
- clog(conj(z)) == conj(clog(z))
- 如果
z
是-0+0i
,結果為-∞+πi
並引發 FE_DIVBYZERO - 如果
z
是+0+0i
,結果為-∞+0i
並引發 FE_DIVBYZERO - 如果
z
是x+∞i
(對於任何有限 x),結果為+∞+πi/2
- 如果
z
是x+NaNi
(對於任何有限 x),結果為NaN+NaNi
並可能引發 FE_INVALID - 如果
z
是-∞+yi
(對於任何有限正 y),結果為+∞+πi
- 如果
z
是+∞+yi
(對於任何有限正 y),結果為+∞+0i
- 如果
z
是-∞+∞i
,結果為+∞+3πi/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
[編輯] 注意
複數 z 的自然對數,其極座標分量為 (r,θ),等於 ln r + i(θ+2nπ),主值為 ln r + iθ
[編輯] 示例
執行此程式碼
#include <stdio.h> #include <math.h> #include <complex.h> int main(void) { double complex z = clog(I); // r = 1, θ = pi/2 printf("2*log(i) = %.1f%+fi\n", creal(2*z), cimag(2*z)); double complex z2 = clog(sqrt(2)/2 + sqrt(2)/2*I); // r = 1, θ = pi/4 printf("4*log(sqrt(2)/2+sqrt(2)i/2) = %.1f%+fi\n", creal(4*z2), cimag(4*z2)); double complex z3 = clog(-1); // r = 1, θ = pi printf("log(-1+0i) = %.1f%+fi\n", creal(z3), cimag(z3)); double complex z4 = clog(conj(-1)); // or clog(CMPLX(-1, -0.0)) in C11 printf("log(-1-0i) (the other side of the cut) = %.1f%+fi\n", creal(z4), cimag(z4)); }
輸出
2*log(i) = 0.0+3.141593i 4*log(sqrt(2)/2+sqrt(2)i/2) = 0.0+3.141593i log(-1+0i) = 0.0+3.141593i log(-1-0i) (the other side of the cut) = 0.0-3.141593i
[編輯] 參考
- C11 標準 (ISO/IEC 9899:2011)
- 7.3.7.2 clog 函式 (p: 195)
- 7.25 型別通用數學 <tgmath.h> (p: 373-375)
- G.6.3.2 clog 函式 (p: 543-544)
- G.7 型別通用數學 <tgmath.h> (p: 545)
- C99 標準 (ISO/IEC 9899:1999)
- 7.3.7.2 clog 函式 (p: 176-177)
- 7.22 型別通用數學 <tgmath.h> (p: 335-337)
- G.6.3.2 clog 函式 (p: 478-479)
- G.7 型別通用數學 <tgmath.h> (p: 480)
[編輯] 參閱
(C99)(C99)(C99) |
計算複數以 e 為底的指數 (函式) |
(C99)(C99) |
計算自然(底數e)對數 (ln(x)) (函式) |
C++ 文件 用於 log
|