我無法弄清楚是否以及如何將一個二維雙數組映射到Eigen :: Matrix。 是否可以將我以double** p
收到的數組double d[][]
映射到Eigen :: Matrix?將二維數組映射到Eigen :: Matrix
雖然一維數組工作正常,但我無法將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'是一個'雙**'嗎? –
@AviGinsburg感謝您的回覆,我完成了我的問題。大小'n'不是一個常數,但硬編碼的大小是可以的。 是的,我很確定'p'是一個'double **',因爲'p [row] [col] + = ...'起作用。 – AnBr
請參閱[本](http://stackoverflow.com/a/33669013/2899559)文章。 –