diff --git a/src/Matrix.cpp b/src/Matrix.cpp index d06bf4e..932ebd8 100644 --- a/src/Matrix.cpp +++ b/src/Matrix.cpp @@ -1,5 +1,6 @@ #include "Matrix.h" +#include #include #include #include @@ -11,6 +12,8 @@ #include #include +#include "Eigen/src/Core/Map.h" +#include "Eigen/src/Core/Matrix.h" #include "Function.h" namespace Aurora{ @@ -473,6 +476,64 @@ namespace Aurora { double& Matrix::operator[](size_t index) { return getData()[index];} double Matrix::operator[](size_t index) const { return getData()[index];} + Matrix Matrix::block(int aDim,int aBeginIndex, int aEndIndex){ + if(aDim>2 ){ + std::cerr<<"block only support 1D-3D data!"<=getDimSize(aDim) || aBeginIndex<0){ + std::cerr<<"block BeginIndx error!BeginIndx:"<=getDimSize(aDim) || aEndIndex<0){ + std::cerr<<"block EndIndex error!EndIndex:"<