gpt4 book ai didi

c++ - 如何正确初始化、分配和使用动态特征矩阵作为 C++ 中的类成员?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:49:07 28 4
gpt4 key购买 nike

我有一个具有动态特征矩阵的类。我想从文本文件中读取一个矩阵并将其分配给类矩阵变量。做这个的最好方式是什么?这就是我现在所做的

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 主页上没有太多这方面的例子,或者我太菜鸟了,无法理解它们。

最佳答案

默认情况下,一个 MatrixXd对象被初始化为 0x0矩阵,因此无需将其显式初始化为空矩阵。此外,Matrix<>::Zero() static 成员仅适用于固定大小的矩阵。对于 MatrixXd您需要指定其尺寸,通常为 Zero(n,m)用于将矩阵初始化为 m x n用显式零填充的矩阵。

关于作业,CoryKramer 已经回答了。

关于c++ - 如何正确初始化、分配和使用动态特征矩阵作为 C++ 中的类成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32402309/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com