繁体   English   中英

np.linalg.norm 以及如何处理机器 epsilon

[英]np.linalg.norm and how to deal with machine epsilon

我有这个相当简单的问题。 我想使用以下代码计算 numpy 的欧几里得距离:

a= np.array([1,2,3])
b= np.array([2,3,4])

print((np.linalg.norm(a-b))**2)

这产生2.9999999999999996 ,但是,答案应该是3 我如何实现这一目标?

谢谢

通常,您可以使用np.isclose来比较浮点值。

您可以使用 round() function

a= np.array([1,2,3])
b= np.array([2,3,4])

print((np.linalg.norm(round(a-b))**2))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM