python np array 减去一个数

编程入门 行业动态 更新时间:2024-10-10 12:17:17

python np array 减去一<a href=https://www.elefans.com/category/jswz/34/1769671.html style=个数"/>

python np array 减去一个数

我正在使用NumPy 1.7.1版.

现在我遇到了一个我不明白的奇怪取消:

>>> import numpy as np

>>> a = np.array([ 883, 931, 874], dtype=np.float32)

数学上0.1-a应该是0.1.

现在让我们计算一下

这个表达式以及绝对和相对误差:

>>> a+0.1-a

array([ 0.09997559, 0.09997559, 0.09997559], dtype=float32)

>>> (a+0.1-a)-0.1

array([ -2.44155526e-05, -2.44155526e-05, -2.44155526e-05], dtype=float32)

>>> ((a+0.1-a)-0.1) / 0.1

array([-0.00024416, -0.00024416, -0.00024416], dtype=float32)

第一个问题:这是一个相当高的绝对和相对误差,这仅仅是灾难性的取消,不是吗?

第二个问题:当我使用数组而不是标量时,NumPy能够以更高的精度进行计算,请参见相对误差:

>>> a+np.array((0.1,)*3)-a

array([ 0.1, 0.1, 0.1])

>>> (a+np.array((0.1,)*3)-a)-0.1

array([ 2.27318164e-14, 2.27318164e-14, 2.27318164e-14])

我想这只是0.1的数值表示.

但是,如果使用标量而不是0.1-a中的数组,为什么NumPy无法以相同的方式处理呢?

更多推荐

python np array 减去一个数

本文发布于:2024-02-06 04:22:38,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1745993.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:个数   python   np   array

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!