c++ - Eigen (C++): how can I visit part of matrix in?

标签 c++ eigen

在 matlab 中,我可以使用 A(1:5,2:4) 访问矩阵中 1-5 行和 2-4 列的元素。在c++ eigen库中,我如何访问matlab中的部分元素?

最佳答案

使用 block功能

#include <Eigen/Dense>
#include <iostream>
 
int main()
{
  Eigen::MatrixXf m(4,4);
  m <<  1, 2, 3, 4,
        5, 6, 7, 8,
        9,10,11,12,
       13,14,15,16;
  std::cout << "m(2:3, 2:3) = \n";
  std::cout << m.block<2,2>(1,1) << '\n';
}

返回

m(2:3, 2:3) = 
 6  7
10 11

您甚至可以用这种方式写入矩阵!请参阅上面的链接。

关于c++ - Eigen (C++): how can I visit part of matrix in?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65049138/

相关文章:

c++ - 连接超时与 Alarm()

c++ - 是否可以在没有 QtConcurrent 的情况下使用 QFuture?

c++ - 使用 4 个 16 位定时器实现 400hz PWM

c++ - 删除每个 API 调用都失败并显示 ERROR_ACCESS_DENIED 的文件夹

采用 args Eigen 稀疏矩阵的 C++ 函数

c++ - 在 Eclipse 中使用 Eigen3,无法编译

c++ - Eigen 中矩阵的最大大小是多少?

c++ - 在 C++ 中重写 delete 应该如何表现?

c++ - Eigen 中的点积乘以转置?

c++ - 关于在 C++ 中使用外部库的困惑