1

多维矩阵数组是这样的

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],如果重要的话

4

1 回答 1

3

我猜你必须将第二个矩阵的内容推入第一个矩阵,可能使用铲运算符matrix_1 << matrix_2[0].push方法。

ps 我想补充一下,我从来没有在 ruby​​ 中使用过 Matrix,因此我的“猜测”但是因为它是数组,所以假设它有一个类似 API 的数组是公平的。

于 2017-07-03T16:50:40.337 回答