Numpy ValueError:操作数无法与形状一起广播(512512)(515512)
我想在均匀矩阵中添加噪声,我使用的代码如下:Numpy ValueError:操作数无法与形状一起广播(512512)(515512),numpy,Numpy,我想在均匀矩阵中添加噪声,我使用的代码如下: import numpy as np s = np.random.default_rng(100).normal(10,5,512*512) s2 = np.reshape(s, (512,512)) s2 =s2+11*np.ones((515,512)) 它给出了以下错误: ValueError: operands could not be broadcast together with shapes (512,512) (515,512
import numpy as np
s = np.random.default_rng(100).normal(10,5,512*512)
s2 = np.reshape(s, (512,512))
s2 =s2+11*np.ones((515,512))
它给出了以下错误:
ValueError: operands could not be broadcast together with shapes (512,512) (515,512)
这里的问题在哪里?在两个阵列上操作时,NumPy会按元素比较它们的形状。它从后面的维度开始,然后继续前进。当需要时,两个维度是兼容的
据此,(515512)和(512512)将在数组末尾成功匹配,并在匹配515到512时抛出错误。。。我猜这是个打字错误,你的意思是
np.one((512512))
?(而且它实际上是无用的,你可以只做+11,它有相同的效果)我没有看到打字错误。我知道这个例子是无用的,但我简化了代码以显示错误出现的位置。