python - np.linalg.norm 以及如何处理机器 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来比较浮点值。
推荐阅读
- amazon-web-services - 无法在 AWS Quick Sight 中解析来自 S3 的 JSON 文件
- java - 文本字段中的返回值
- rmi - 如何在不出现 UnmarshallException 的情况下关闭 RMI-Server?
- python - 如何发送公式而不是结果?
- typescript - 如何使用“nswag”覆盖自动生成的方法?
- php - PHP - 使用空值查询
- java - 不断收到 ParseException:无法解析的日期
- foreach - forEach 不是函数,但我的数据已经在数组中
- r - dplyr 根据多个条件替换列中的 na 值
- java - 在 Java 中创建“x”行复选框