c++ - 如何镜像矩阵的其中一个维度?

标签 c++ eigen

我正在使用 Eigen,但由于 Eigen 使用基本的数学运算符,所以这基本上只是一道数学题。这是我所追求的伪代码:

    [1 2 3]
A = [4 5 6]
    [7 8 9]

            [7 8 9]
A.flipv() = [4 5 6]
            [1 2 3]

我怎样才能在 Eigen 中实现这样的目标? (我使用的是 3.2 版)

编辑:我想我想在这里做的是将顶行与底行交换(.topRows().bottomRows().swap()?)

最佳答案

如果您想要一般的翻转,也就是说,不仅仅是 3x3 矩阵,那么 reverse() 函数就是您要找的。特别是 A.colwise().reverse() 将反转每一列,从而进行垂直翻转。对于水平翻转:A.rowwise().reverse()

关于c++ - 如何镜像矩阵的其中一个维度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19647270/

相关文章:

c++ - 在 C++ 中通过引用/值传递

Eigen3 - 访问向量元素的(非连续)子集

c++ - Eigen 和巨大的密集二维阵列

c++ - Eigen C++ 包装赋值

c++ - Eigen :1-a.array() 的返回类型

c++ - 1 字节整数不转换 i/o 格式

c++ - 为什么我不能将 uint 重新解释为 int?

c++ - 使用变量定义数组大小和使用新运算符 c++ 有什么区别?

c++ - 为什么这个函数的递归版本更快?

c++ - 矩阵 vector 乘法与 Eigen 系数乘积的结合