numpy.real_if_close#
- numpy.real_if_close(a, tol=100)[源代码]#
如果输入是复数,且所有虚部都接近于零,则返回实部.
“接近于零”定义为 tol * ( a 类型的机器 epsilon).
- 参数:
- aarray_like
输入数组.
- tolfloat
数组中元素的复数部分的机器 epsilon 容差. 如果容差 <=1,则使用绝对容差.
- 返回:
- outndarray
如果 a 是实数,则 a 的类型用于输出.如果 a 有复数元素,则返回的类型是浮点数.
注释
机器 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])