python数字运算顺序_数字或运算的顺序不等于逻辑(也等于八度)?

也许这个问题应该严格地针对scipy用户,但我也会在这里尝试。在

这是我最近发现的一些东西,让我很好奇。在

我想定义一个标量,我称之为净绝对质量平衡误差,简称为NAMBE。

这个NAMBE是一个基向量和另一个向量之间的绝对差,除以基向量再乘以100,用伪码表示:NAMBE=sum(abs(a-b)/a)*100

当我用python编写代码时,我决定将这行代码分成两行,这样代码就更多了

可读性:

^{pr2}$

我想纽比会做所有的元素,所以如果我做一行,我注意到结果是不同的:>>> s=np.sum(abs(a-b)/a)

>>> s

5.0

现在,如果我用倍频程检查自己,我会得到不同的结果:octave:1> a=[0.1,0.1,0.1,0.1,0.1]

a =

0.10000 0.10000 0.10000 0.10000 0.10000

octave:2> b=a*2

b =

0.20000 0.20000 0.20000 0.20000 0.20000

octave:3> sum(a)

ans = 0.50000

octave:4> sum(b)

ans = 1

octave:5> sum(a-b)

ans = -0.50000

octave:6> sum(abs(a-b))

ans = 0.50000

octave:7> s=sum(abs(a-b))

s = 0.50000

octave:8> s/sum(a)

ans = 1

octave:9> s=sum(abs(a-b)/a)

s = 1.0000

octave:10> s=sum(abs(a-b)/sum(a))

s = 1

请注意,虽然在Python中,9和10在倍频程中的输出没有区别。。。

所以,我的问题是:

为什么python会这样?哪一个是对的?八度音阶还是Python?在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值