参考
- http://eigen.tuxfamily.org/dox/group__TutorialBlockOperations.html
- https://www.cnblogs.com/houkai/p/6349974.html
Block操作
块是matrix或array中的矩形子部分。
使用块
函数.block(),有两种形式
Block operation | 构建一个动态尺寸的block | 构建一个固定尺寸的block |
---|---|---|
起点(i,j) 块大小(p,q) | .block(i,j,p,q) | .block< p,q >(i,j) |
Eigen中,索引从0开始。
两个版本都可以用于固定尺寸和动态尺寸的matrix/array。功能是等价的,只是固定尺寸的版本在block较小时速度更快一些。
测试示例
void demo_6()
{
Eigen::MatrixXf m(4,4);
m << 1, 2, 3, 4,
5, 6, 7, 8,
9,10,11,12,
13,14,15,16;
cout << "Block in