c++ - eigen(c++):如何访问矩阵的一部分?
问题描述
在 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
你甚至可以用这种方式写入矩阵!请参阅上面的链接。
推荐阅读
- python - 如何处理多个 df 以使它们都包含标记相同的索引和列?
- python - 如何在 Keras 中使用类权重进行图像分割
- c# - SerialPort.Open() 为 set_DtrEnable 提供异常
- c# - 如何使用 Kubernetes 客户端创建谷歌云功能
- excel - 选择整个过滤的行,而不仅仅是单元格
- angular - Angular 在 scss 中使用图像 url 不起作用
- casting - Ceylon 是否允许显式类型转换(向下转换)?
- nginx - nginx 不服务于非 www 域
- reactjs - 禁用后后退按钮不会再次启用
- security - 通过上下文感知访问保护的 Google 登录?