numpy.real_if_close#

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

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

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

参数:
a类数组对象

输入数组。

tolfloat

数组中元素的复数部分的机器 epsilon 公差。如果公差 <=1,则使用绝对公差。

返回:
outndarray

如果 a 是实数,则输出的类型为 a 的类型。如果 a 包含复数元素,则返回类型为 float。

另请参阅

real, imag, angle

备注

机器 epsilon 因机器和数据类型而异,但在大多数平台上,Python 浮点数的机器 epsilon 为 2.2204460492503131e-16。您可以使用“np.finfo(float).eps”来打印浮点数的机器 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])