numpy.real_if_close #

麻木的。real_if_close ( a , tol = 100 ) [来源] #

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

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

参数
类似数组

输入数组。

托尔浮动

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

返回
输出数组

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

也可以看看

real, imag,angle

笔记

机器 epsilon 因机器和数据类型而异,但 Python 在大多数平台上浮动,机器 epsilon 等于 2.2204460492503131e-16。您可以使用“np.finfo(float).eps”打印浮点数的机器 epsilon。

例子

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