2015-02-18 8 views
12

Im nummy Betrieb habe ich zwei Vektoren, sagen wir Vektor A ist 4X1, Vektor B ist 1X5, wenn ich AXB mache, sollte es eine Matrix der Größe 4X5 ergeben.Wie man zwei Vektor multipliziert und eine Matrix erhält?

Aber ich habe viele Male versucht, viele Arten von Umformen und transponieren, sie alle entweder Fehlermeldung nicht ausgerichtet oder einen einzelnen Wert zurückgeben.

Wie soll ich das Ausgangsprodukt der Matrix bekommen, die ich will?

Antwort

12

Die normale Matrixmultiplikation funktioniert so lange, wie die Vektoren die richtige Form haben. Denken Sie daran, dass * in Numpy ist element Multiplikation und Matrixmultiplikation ist mit numpy.dot() (oder mit dem @ Operator, in Python 3,5)

>>> numpy.dot(numpy.array([[1], [2]]), numpy.array([[3, 4]])) 
array([[3, 4], 
     [6, 8]]) 

Dies ist ein als "äußere Produkt." Sie können es unter Verwendung von einfachen Vektoren unter Verwendung von numpy.outer():

>>> numpy.outer(numpy.array([1, 2]), numpy.array([3, 4])) 
array([[3, 4], 
     [6, 8]]) 
erhalten
Verwandte Themen