c – 如何在Eigen中初始化大型矩阵的内容?
发布时间:2020-12-16 05:31:16 所属栏目:百科 来源:网络整理
导读:我正在尝试初始化一个矩阵(使用Eigen库)在创建时具有非零值.有没有一个很好的方式做这个没有for循环? 例如,如果我想将整个矩阵初始化为1.0,我想做一些类似于 Eigen::MatrixXd mat(i,j) = 1.0; 要么 Eigen::MatrixXd mat(i,j);mat += 1.0; (我习惯了MATLAB中
我正在尝试初始化一个矩阵(使用Eigen库)在创建时具有非零值.有没有一个很好的方式做这个没有for循环?
例如,如果我想将整个矩阵初始化为1.0,我想做一些类似于 Eigen::MatrixXd mat(i,j) = 1.0; 要么 Eigen::MatrixXd mat(i,j); mat += 1.0; (我习惯了MATLAB中的这种类型的东西,它会使Eigen比现在更好使用,我怀疑这里有一个内置的方法,我没有找到.) 这个问题的一个子问题是如何将一个矩阵元素块设置为一个设定值,这是一个例子: mat.block(i,j,k,l) = 1.0; 解决方法
经常发生的事情我发现问题在三十秒内在文档中找到答案.我在寻找
Constant function:
Eigen::MatrixXd mat = Eigen::MatrixXd::Constant(i,1.0); mat.block(i,l) = Eigen::MatrixXd::Constant(i,1.0); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |