2015-02-18 19 views
12

Numpy işleminde iki vektörüm var, diyelim ki A vektörü 4X1, B vektörü 1X5, eğer AXB yaparsam, 4X5 ebadında bir matris elde edilmeli.İki vektör nasıl çarpılır ve matris elde edilir?

Ama birçok kez denedim, birçok türde yeniden şekillendirmek ve devirmek, hepsi hizalanmayan veya tek bir değer döndüren hatalar yaratıyor.

İstediğim matrisin çıktı ürününü nasıl edinmeliyim?

cevap

12

Normal matris çarpımı, vektörler doğru şekle sahip olduğu sürece çalışır. Numpy içinde *elementwise çarpma ve matris çarpım numpy.dot() (veya Python 3,5 @ operatör ile) Bu, adı

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

"dış bir ürün." Ile kullanılabilir unutmayın Düz vektörleri kullanarak numpy.outer():

>>> numpy.outer(numpy.array([1, 2]), numpy.array([3, 4])) 
array([[3, 4], 
     [6, 8]]) 
kullanarak edinebilirsiniz.
İlgili konular