上一主题

numpy.nan_to_num

下一主题

numpy.interp

numpy.real_if_close

numpy.real_if_close(a, tol=100)[source]

如果复杂的输入返回一个真实的数组,如果复杂的零件接近零。

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

参数:

a:array_like

输入数组。

tol:float

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

返回:

out:ndarray

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

也可以看看

realimagangle

笔记

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

例子

>>> np.finfo(np.float).eps
2.2204460492503131e-16
>>> np.real_if_close([2.1 + 4e-14j], tol=1000)
array([ 2.1])
>>> np.real_if_close([2.1 + 4e-13j], tol=1000)
array([ 2.1 +4.00000000e-13j])