gpt4 book ai didi

c++ - 如何访问返回 vector 中的系数

转载 作者:太空宇宙 更新时间:2023-11-04 12:49:08 25 4
gpt4 key购买 nike

我正在使用 QR 分解和 Eigen 求解线性最小二乘系统,as the documentation suggests .我无法使用圆括号或方括号运算符访问解 vector 中的各个系数 - 否则它们对常规密集矩阵工作得很好。例如访问第一个系数时:

double coef = A.colPivHouseholderQr().solve(b)[0];

我得到以下编译错误:

error: no viable conversion from returned value of type 'const Eigen::ReturnByValue<Eigen::internal::solve_retval_base<Eigen::ColPivHouseholderQR<Eigen::Matrix<double, -1, -1, 0, -1, -1> >, Eigen::Matrix<double, -1, 1, 0, -1, 1> >::YOU_ARE_TRYING_TO_ACCESS_A_SINGLE_COEFFICIENT_IN_A_SPECIAL_EXPRESSION_WHERE_THAT_IS_NOT_ALLOWED_BECAUSE_THAT_WOULD_BE_INEFFICIENT' to function return type 'const double'

return derived().coeff(index);
^~~~~~~~~~~~~~~~~~~~~~

如何单独访问元素?

最佳答案

解决方案

我解决了这个问题。有一个 .array() 调用将表达式类型转换为我可以使用圆括号或方括号运算符索引到的类型。

关于c++ - 如何访问返回 vector 中的系数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49886059/

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