首页 > 解决方案 > Eigen 是否有用于从另一个矩阵中提取子矩阵的内置方法?

问题描述

我想从 eigen 3.3 中的现有矩阵中提取一个子矩阵,我只想知道是否已经有一个方法或函数?

这是我想要实现的目标

代码

#include <iostream>
#include <Eigen/Dense>

int main()
{
    Eigen::Matrix<long double,-1,-1> X(4,3);
    
    X<<1,2,3,4,
       5,6,7,8,
       9,0,1,2,
       3,4,5,6;

    Eigen::Matrix<long double,-1,-1> Y = X.some_kind_of_method(...);

    std::cout<<"X = \n"<<X<<'\n';
    std::cout<<"\nY = \n"<<Y<<'\n';

    return 0;
}

目标输出

X = 
2 3 4
6 7 8
0 1 2
4 5 6

Y = 
1
5
9
3

或者甚至只是从 X 矩阵中获取 Y 矩阵而不改变 X 矩阵也可以,但如果它存在,我更喜欢另一个。

标签: c++matrixeigen3submatrix

解决方案


推荐阅读