多维矩阵数组就像这样
arr1 = Matrix[[0.9742006046104146, 0.9164380106962612, 0.39571440216724874],
[1.3793903493310324, 1.8988033906016721, 1.2768961254764901],
[0.42334074004480604, 1.6728495387871951, 1.2575501206006443]]
另一个简单的数组就像这样
arr2 = Matrix[[0.13054527963360518, 0.8579042642337861, 0.3041160868559809]]
我无法将两者加在一起,arr1 + arr2
ExceptionForMatrix::ErrDimensionMismatch: Matrix dimension mismatch
from /home/arjun/.rbenv/versions/2.2.3/lib/ruby/2.2.0/matrix.rb:996:in `+'
from (irb):171
from /home/arjun/.rbenv/versions/2.2.3/bin/irb:11:in `<main>'
我该怎么办?在python / numpy中简单地做一个添加只是起作用吗? 什么是Ruby等价物?
注意 -
arr1
是Matrix[*a] * Matrix[*b]
的点积,如果重要的话
答案 0 :(得分:3)
我猜你必须将第二个矩阵的内容推送到第一个矩阵中,可能使用spade运算符matrix_1 << matrix_2[0]
或.push
方法。
P.S。我想补充一点,我从来没有在ruby中使用过Matrix,因此我的'猜测'但是因为它的数组就像假设它有一个类似API的数组一样公平。