Python正在以错误的方式计算一些值的总和

阿米尔侯赛因

下面的代码用于计算两个向量的内积,但是有时它返回错误的值,我不知道为什么。谁能帮我解决这个问题?

专门针对以下输入:[-2.328,-7.284,-1.214]和[-1.821、1.072,-2.94]

reduce(lambda x,y : x+y, [x*y for x,y in zip(self.coordinates, v.coordinates)])
ido堂

我的猜测是这是一个舍入错误。在示例中使用向量:

a = [-2.328, -7.284, -1.214]
b = [-1.821, 1.072, -2.94]
c = reduce(lambda x,y : x+y, [x*y for x,y in zip(a, b)])
print(c)

会给,-1.3322676295501878e-15而真正的结果应该是0为了进行比较,numpy函数np.inner(a,b)将给出非常相似的结果。-1.33226762955e-15

该错误是由于无法将任何不能由2的幂构成的数字都精确地表示为浮点数,因此需要将其近似。有关更深入的信息,请阅读:每位计算机科学家都应了解的有关浮点算法的知识

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Sql 查询以识别正在运行的前一行值并进行一些计算

一些垃圾值正在打印。为什么?

我正在尝试使用来自sklearn的Python MultinomialNB对一些数据进行分类,但是它返回值错误

我正在使用 python3 并且我想翻译一些文本,所以我使用了“googletrans”包,但出现了一些错误

使用Pandas计算Python中每组列的一些值

BigDecimal的鸿沟返回错误结果的一些计算

Dask Distributed:计算后出现一些错误

单利计算中存在一些错误

熊猫:在栏中计算一些值

在计算之前删除包含一些值的组合

javascript在平均计算中排除一些值

我正在 jupyter notebook 中使用 python。我已经编写了 for 循环代码。我遇到了一些错误

我在 python 中的值错误有一些问题

如何获得一些关闭的总和

如何用python计算一些数据?

VBA动态数组复制了一些错误值

如何使用 Python 迭代一个时间跨度并计算数据帧中的一些值?

如何找到具有一些缺失值的数据帧的每一行的总和

需要使用小型计算器的一些指导,我正在研究Ruby

python字典中的一些随机错误

Python split函数显示一些错误结果

Python 中的字典循环有一些错误

在 python 中使用 selenium 时出现了一些错误

python文件创建给出了一些错误

如何从python字典中删除一些值

从列中剥离一些值 -pandas/python

我正在尝试在parse.com中编写触发器,但出现一些错误

我正在尝试使用Datastax 4.2.2编写DAO接口,但遇到一些编译错误

查找素数的一种排序方式,但是有一些错误#?