numpy.real_if_close#
- numpy.real_if_close(a, tol=100)[原始碼]#
如果輸入是複數,且所有虛部都接近零,則傳回實部。
「接近零」的定義為 tol * (a 類型的機器 epsilon)。
- 參數:
- aarray_like
輸入陣列。
- tolfloat
陣列中元素複數部分的機器 epsilon 容差。如果容差 <=1,則使用絕對容差。
- 傳回:
- outndarray
如果 a 是實數,則輸出會使用 a 的類型。如果 a 具有複數元素,則傳回的類型為 float。
註解
機器 epsilon 因機器和資料類型而異,但大多數平台上的 Python float 的機器 epsilon 等於 2.2204460492503131e-16。您可以使用 'np.finfo(float).eps' 列印出 float 的機器 epsilon。
範例
>>> import numpy as np >>> np.finfo(float).eps 2.2204460492503131e-16 # may vary
>>> np.real_if_close([2.1 + 4e-14j, 5.2 + 3e-15j], tol=1000) array([2.1, 5.2]) >>> np.real_if_close([2.1 + 4e-13j, 5.2 + 3e-15j], tol=1000) array([2.1+4.e-13j, 5.2 + 3e-15j])