ruby 1.9 中如何反转矩阵对象?

发布于 2024-11-24 08:33:18 字数 362 浏览 1 评论 0原文

我是 Ruby 的初学者。所以我搜索了如何反转我尝试过的矩阵

1, 2, 3,  4    8, 9, 10, 11
4, 5, 6,  7 => 4, 5, 6,  7
8, 9, 10, 11   1, 2, 3,  4

require 'matrix'
m = Matrix[ [1,2,3,4],[4,5,6,7], [8,9,10,11] ]
m_rev = Matrix.build(m.row_size, m.column_size){|row|
    m.row_size.downto(0){|i|
        row = m.row(i)
    }
}

I am a beginner with Ruby. So I searched how reverse a matrix

1, 2, 3,  4    8, 9, 10, 11
4, 5, 6,  7 => 4, 5, 6,  7
8, 9, 10, 11   1, 2, 3,  4

I have tried:

require 'matrix'
m = Matrix[ [1,2,3,4],[4,5,6,7], [8,9,10,11] ]
m_rev = Matrix.build(m.row_size, m.column_size){|row|
    m.row_size.downto(0){|i|
        row = m.row(i)
    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

墨小墨 2024-12-01 08:33:18

尝试:Matrix[*m.to_a.reverse]

m = Matrix[ [1,2,3,4], [5,6,7,8], [9,10,11,12] ]
 #=> Matrix[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
r = Matrix[*m.to_a.reverse]
 #=> Matrix[[9, 10, 11, 12], [5, 6, 7, 8], [1, 2, 3, 4]]

不要错过*

Try: Matrix[*m.to_a.reverse]:

m = Matrix[ [1,2,3,4], [5,6,7,8], [9,10,11,12] ]
 #=> Matrix[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
r = Matrix[*m.to_a.reverse]
 #=> Matrix[[9, 10, 11, 12], [5, 6, 7, 8], [1, 2, 3, 4]]

Do not miss the *.

浮萍、无处依 2024-12-01 08:33:18

你可以这样做:

m_rev = Matrix.rows m.to_a.reverse

You can do something like:

m_rev = Matrix.rows m.to_a.reverse
殊姿 2024-12-01 08:33:18

您走在正确的轨道上,除了 Matrix.build 迭代行和列:

m_rev = Matrix.build(m.row_size, m.column_size){|row, column|
  m[-row-1, column]
}

更简单、更快:

m_rev = Matrix.rows(m.to_a.reverse)
# or
m_rev = Matrix[*m.to_a.reverse]

You were on the right track, except that Matrix.build iterates over both rows and columns:

m_rev = Matrix.build(m.row_size, m.column_size){|row, column|
  m[-row-1, column]
}

Simpler and faster:

m_rev = Matrix.rows(m.to_a.reverse)
# or
m_rev = Matrix[*m.to_a.reverse]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文