Ruby矩阵除了多维数组

时间:2017-07-03 16:31:08

标签: python arrays ruby matrix narray

多维矩阵数组就像这样

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等价物?

注意 -
arr1Matrix[*a] * Matrix[*b]的点积,如果重要的话

1 个答案:

答案 0 :(得分:3)

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

P.S。我想补充一点,我从来没有在ruby中使用过Matrix,因此我的'猜测'但是因为它的数组就像假设它有一个类似API的数组一样公平。