numpy.real_if_close#

numpy.real_if_close(a, tol=100)[原始碼]#

如果輸入是複數,且所有虛部都接近零,則傳回實部。

「接近零」的定義為 tol * (a 類型的機器 epsilon)。

參數:
aarray_like

輸入陣列。

tolfloat

陣列中元素複數部分的機器 epsilon 容差。如果容差 <=1,則使用絕對容差。

傳回:
outndarray

如果 a 是實數,則輸出會使用 a 的類型。如果 a 具有複數元素,則傳回的類型為 float。

另請參閱

realimagangle

註解

機器 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])