我无法弄清楚是否以及如何将一个二维双数组映射到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)文章。 –