我有两个矩阵
a = matrix(((1.4) ,(2.5) ,(1.96),(6.25),(12.25))
和
b = matrix(((1 ,1,1,1,1),(2,2,2,2,2)))
当我乘以这些矩阵时
product = b*a
我收到错误
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.6/dist-packages/numpy-1.7.0-py2.6-linux-i686.egg/numpy/matrixlib/defmatrix.py", line 330, in __mul__
return N.dot(self, asmatrix(other))
ValueError: matrices are not aligned
请帮我解决这个问题
答案 0 :(得分:4)
你的矩阵是错误的形状来乘以它们。我想你可能想把a
定义为:
a = matrix(((1.4,),(2.5,),(1.96,),(6.25,),(12.25,)))
与以下内容相同:
a = matrix((1.4,2.5,1.96,6.25,12.25)).T
或
a = matrix(((1.4),(2.5),(1.96),(6.25),(12.25))).T
请注意,逗号是构成元组的原因。括号仅用于避免语法中的歧义。在最后一个示例中,括号中最内部的组不执行任何操作,并由python的解析器删除。