我有两个数组:比如G [] []和C [] []。
我按以下方式处理数组:
G[i][j] = G[i][j] + 2.0 * C[i][j] * (1.0 - x/y) * z
其中x,y,z是一些变量,i跨越(0,100)和j跨越(0,10)。所以,基本上它们都是大型阵列。
我在我的Windows计算机和Linux计算机上运行python代码,但是我得到了不同的结果,Windows'结果是好的'结果。
我无法找到Linux中数学不同的原因以及我应该如何调整'结果与窗户匹配'结果。
所有数据类型都是浮动的。
示例值:
PC1: 1.1362725450901805
PC2: 1.1643972063283112
虽然在进一步的计算中,结果会有很大的变化:
PC1: -2.something
PC2: 0.something
答案 0 :(得分:1)
问题是如果参数是整数,则python 2中的“/”是整数除法,而在python 3中,“/”是真正的除法。
你可以绕过这个from __future__ import division
或确保每个分区中至少有一个参数是浮点数。