开始构造一个元素为0的np.array,后依次赋值,结果值不变,
x = np.array([0,0,0,0])
g = np.array([[0,0.701,0.707],
[0, -0.707, 0.707],
[1,0,0]])
x[1]=g[2,0]-g[0,2]
print(x[1],g[2,0]-g[0,2],g[2,0],g[0,2])
x[1]明显不为零,结果输出为零:
0 0.29300000000000004 1.0 0.707
将构造的元素为零的np.array,整型0变为浮点数,结果就对了
x = np.array([0.,0.,0.,0.])
g = np.array([[0,0.701,0.707],
[0, -0.707, 0.707],
[1,0,0]])
x[1]=g[2,0]-g[0,2]
x[1],g[2,0]-g[0,2],g[2,0],g[0,2]
输出为
0.29300000000000004 0.29300000000000004 1.0 0.707
怀疑初始默认构造数组为整型,赋值小数直接向下取整,记录一下。