numpy.log2#
- numpy.log2(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature]) = <ufunc 'log2'>#
x 的 2 為底對數。
- 參數:
- xarray_like
輸入值。
- outndarray, None, 或 ndarray 和 None 的元組, 可選
儲存結果的位置。如果提供,則必須具有輸入廣播到的形狀。如果未提供或為 None,則會回傳新配置的陣列。元組(僅能作為關鍵字引數)的長度必須等於輸出的數量。
- wherearray_like, 可選
此條件會廣播至輸入。在條件為 True 的位置,out 陣列將設定為 ufunc 結果。在其他位置,out 陣列將保留其原始值。請注意,如果透過預設
out=None
建立未初始化的 out 陣列,則其中條件為 False 的位置將保持未初始化。- **kwargs
如需其他僅限關鍵字引數,請參閱 ufunc 文件。
- 回傳值:
- yndarray
x 的 2 為底對數。如果 x 是純量,則這會是純量。
另請參閱
log
,log10
,log1p
,emath.log2
註解
對數是多值函數:對於每個 x,都有無限多個 z 使得 2**z = x。慣例是回傳虛部落在 (-pi, pi] 範圍內的 z。
對於實數值輸入資料型態,
log2
總是回傳實數輸出。對於每個無法表示為實數或無限大的值,它會產生nan
並設定 invalid 浮點數錯誤旗標。對於複數值輸入,
log2
是具有分支切割 [-inf, 0] 的複數解析函數,且在其上方連續。log2
將浮點數負零處理為無限小的負數,符合 C99 標準。在輸入具有負實部和非常小的負複數部分(接近 0)的情況下,結果非常接近 -pi,以至於評估結果正好是 -pi。
範例
>>> import numpy as np >>> x = np.array([0, 1, 2, 2**4]) >>> np.log2(x) array([-inf, 0., 1., 4.])
>>> xi = np.array([0+1.j, 1, 2+0.j, 4.j]) >>> np.log2(xi) array([ 0.+2.26618007j, 0.+0.j , 1.+0.j , 2.+2.26618007j])