将 Eigen::ArrayXXd 转换为 Eigen::MatrixXd
Convert Eigen::ArrayXXd to Eigen::MatrixXd
如何将 ArrayXXd
数组转换为 MatrixXd
?
到目前为止我已经完成
MatrixXd temp_mat = my_array;
并且隐式转换似乎工作正常,但这是应该完成的方式吗?或者我应该做一些明确的转换操作吗?
是的,隐式转换旨在像您所做的那样工作。
如果你想"view"一个Array
作为Matrix
而不实际复制它,你可以使用.matrix()
方法。例如,
ArrayXXd A;
VectorXd v;
VectorXd r = A.matrix() * v; // matrix vector product
有一个与此方法相反的方法,称为 .array()
。
这在 the tutorial on the Array
class 的 "Converting between array and matrix expressions" 部分有更详细的描述。
如何将 ArrayXXd
数组转换为 MatrixXd
?
到目前为止我已经完成
MatrixXd temp_mat = my_array;
并且隐式转换似乎工作正常,但这是应该完成的方式吗?或者我应该做一些明确的转换操作吗?
是的,隐式转换旨在像您所做的那样工作。
如果你想"view"一个Array
作为Matrix
而不实际复制它,你可以使用.matrix()
方法。例如,
ArrayXXd A;
VectorXd v;
VectorXd r = A.matrix() * v; // matrix vector product
有一个与此方法相反的方法,称为 .array()
。
这在 the tutorial on the Array
class 的 "Converting between array and matrix expressions" 部分有更详细的描述。