numpy.real_if_close

numpy.real_if_close(a, tol=100)[源代码]

如果输入是复数,所有虚部都接近零,则返回实部。

“接近零”定义为 tol *(机器epsilon类型 a

参数
aarray_like

输入数组。

tol浮动

数组中元素的复杂部分的机器epsilons公差。

返回
out恩达雷

如果 a 是真的,类型是 a 用于输出。如果 a 具有复杂元素,返回的类型为float。

参见

real, imag, angle

笔记

机器epsilon因机器和数据类型而异,但大多数平台上的python float的机器epsilon等于2.2204460492503131e-16。您可以使用“np.finfo(float.eps)”来打印机器epsilon的float。

实例

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