我有一个具有动态特征矩阵的类。我想从文本文件中读取Matrix并将其分配给类矩阵变量。做这个的最好方式是什么?这就是我现在所做的事情
class MyFoo
{
MyFoo();
Eigen::MatrixXd mat;
void setMatrix();
}
MyFoo::MyFoo(): mat(Eigen::MatrixXd::Zero())
{};
void MyFoo::setMatrix()
{
mat = HelperLib::readMatFromTXTfile("someFileName");
}
// Eigen::MatrixXd HelperLib::readMatFromTXTfile(const string &fname);
我的问题是这样的:首先,初始化看起来并不合适。其次,使用=来分配读取矩阵也不是太理想。不幸的是,在Eigen主页上没有很多这样的例子,或者我太过于理解它们了。
答案 0 :(得分:0)
默认情况下,MatrixXd
对象初始化为0x0
矩阵,因此无需将其显式初始化为空矩阵。此外,Matrix<>::Zero()
静态成员仅适用于固定大小的矩阵。对于MatrixXd
您需要指定其维度,通常Zero(n,m)
用于将矩阵初始化为填充有显式零的m x n
矩阵。
关于作业,CoryKramer已经回答了它。