numpy.real_if_close#
- numpy.real_if_close(a, tol=100)[source]#
如果输入是复数且所有虚部都接近于零,则返回实部。
“接近于零”定义为 tol *(a 的类型的机器精度)。
- 参数:
- aarray_like
输入数组。
- tolfloat
数组中元素复数部分的容差(以机器精度表示)。如果容差 <= 1,则使用绝对容差。
- 返回:
- outndarray
如果 a 是实数,则使用 a 的类型作为输出类型。如果 a 包含复数元素,则返回类型为 float。
备注
机器精度因机器和数据类型而异,但在大多数平台上,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])