2013-07-27 195 views
3

我有我在一个名为M. 变量保持矩阵然后我用:为什么numpy会给出尺寸不匹配错误?

dist = np.dot(M[0], M[0]) 

,我总是得到错误最终导致:

File "/usr/lib/python2.7/dist-packages/scipy/sparse/base.py", line 246, in __mul__ 
     raise ValueError('dimension mismatch') 
    ValueError: dimension mismatch 

我真的不知道如何这个语句可能会因尺寸不匹配而失败 - 我为第一个和第二个数组使用参数M [0],它们的大小相同。

+1

显示我们是什么'M [0]'包含。 –

+0

你真的认为M是一个矩阵,还是只是一个普通的ndarray?如果是ndarray,它的尺寸是多少? – user2357112

回答

3

M如果是Y矩阵的X,然后M[0]是1由Y.不能乘2 1-通过-Y矩阵除非Y是1

+0

'M = np.array([[1,2,3],[4,5,6],[7,8,9]]);如我所料,np.dot(M [0],M [0])给出14。 –

+0

这不是[矩阵](http://docs.scipy.org/doc/numpy/reference/generated/numpy.matrix.html)。这是[ndarray](http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.html)。 – user2357112

+0

好电话!也许OP期待着ndarray的行为。 –