2 차원의 double 배열을 Eigen :: Matrix에 매핑 할 수 있는지 그리고 그 방법을 이해할 수 없습니다. double** p
으로받는 배열 double d[][]
을 Eigen :: Matrix에 매핑 할 수 있습니까?2 차원 배열을 Eigen :: Matrix에 매핑하십시오.
1 차원 배열은 정상적으로 작동하지만 p
을 Eigen::Map<Eigen::Matrix<double, n, n>>
에 매핑 할 수 없습니다. 그게 가능하고 어떻게 할 수 있습니까? 크기 n
은 실제로 일정하지 않지만 하드 코딩 된 크기를 허용 할 수 있습니다.
여러 버전을 시도했지만 아무 것도 작동하지 않았습니다. 나는 다음과 같아야한다고 생각했다. (크기 n
이 4 일 것이라고 가정하자.)
Eigen::Map<Eigen::Matrix<double, 4, 4>> p_OUTPUT(&p[0][0]);
코드가 컴파일되고 실행되지만 첫 번째 열의 요소와 두 번째 열의 첫 번째 요소 만 올바른 값으로 매핑됩니다. 인수로 p[0]
을 사용하면 같은 결과가 나타납니다. 시도한 다른 버전 (예 : &
제외)이 컴파일되지 않았습니다.
당신이 뭘하려 보여 당신이 무엇을 달성하고자하는 수 있습니까? 'n'은 컴파일 시간이 일정합니까? 그리고'p'가'double **'입니까? –
@AviGinsburg 답장을 보내 주셔서 감사합니다. 질문을 완료했습니다. 크기 'n'은 상수가 아니지만 하드 코딩 된 크기는 괜찮습니다. 예,'p [row] [col] + = ...'가 작동하기 때문에'p'는'double **'입니다. – AnBr
[this] (http://stackoverflow.com/a/33669013/2899559) 게시물을 참조하십시오. –