2013-04-02 5 views
2

j'ai deux matricesmultiplication matricielle en utilisant numpy

a = matrix(((1.4) ,(2.5) ,(1.96),(6.25),(12.25)) 

et

b = matrix(((1 ,1,1,1,1),(2,2,2,2,2))) 

lorsque i multiplier ces matrices

product = b*a 

Je reçois une erreur

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 

s'il vous plaît aidez-moi à résoudre ce

Répondre

4

Vos matrices sont la mauvaise forme pour les multiplier. Je pense que vous vouliez probablement dire de définir a comme:

a = matrix(((1.4,),(2.5,),(1.96,),(6.25,),(12.25,))) 

qui est la même chose que:

a = matrix((1.4,2.5,1.96,6.25,12.25)).T 

ou

a = matrix(((1.4),(2.5),(1.96),(6.25),(12.25))).T 

S'il vous plaît noter que la virguleest ce qui fait un tuple. Les parenthèses sont seulement pour éviter l'ambiguïté dans la syntaxe. Dans le dernier exemple, les groupes de parenthèses les plus internes ne font rien et sont supprimés par l'analyseur de Python.

Questions connexes