block<m,n>(i,j) 또는 block(m,n,i,j)를 이용합니다.
// Matrix 생성
MatrixXd B(3, 3);
MatrixXd B(3, 3);
// A에 값 대입
A << 1, 2,
3, 4;
B = MatrixXd::Zero(3, 3); // B 초기화
B.block<2, 2>(0, 0) = A; // submatrix에 대입
cout << B << endl; // B 출력
MatrixXd A(2, 2);
콘솔 출력 |
실행하여 위와 같은 결과를 얻을 수 있습니다.
주의사항은 matlab과 달리 row, column의 인덱스가 0부터 시작합니다.
주의사항은 matlab과 달리 row, column의 인덱스가 0부터 시작합니다.
B.block<2, 2>(0, 0) = A; // Eigen 라이브러리 명령
B(1:2,1:2) = A; @ Matlab 명령
댓글 없음:
댓글 쓰기