numpy.real_if_close#

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

如果输入复杂且所有虚部接近零,则返回实部.

“接近零” 定义为 tol * (a 类型的机器精度).

参数:
aarray_like

输入数组.

tolfloat

数组中元素的复数部分的机器ε的容差.如果容差 <=1,则使用绝对容差.

返回:
outndarray

如果 a 是实数,则使用 a 的类型作为输出.如果 a 具有复数元素,则返回类型为浮点数.

参见

real, imag, angle

备注

机器ε在不同的机器和数据类型之间有所不同,但大多数平台上的Python浮点数的机器ε等于2.2204460492503131e-16.你可以使用’np.finfo(float).eps’来打印出浮点数的机器ε.

示例

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