4
私の人生にとって、これはなぜ正しく動作しないのか分かりません。それはk番目の要素を返すようには見えません。 C++:Eigen Library初心者ソート
typedef Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic> matrix;
double test(matrix& D, int k)
{
auto d = D.row(1);
std::nth_element(d.data(),d.data()+k, d.data()+d.size());
return d(k) ;
}
は、私はまた、
template <typename ScalarType, typename Derived>
void Sort(Eigen::MatrixBase<Derived> &xValues)
{
std::sort(xValues.derived().data(), xValues.derived().data()+xValues.derived().size());
}
double test(matrix& D, int k)
{
auto d = D.row(1);
Sort<double>(d);
return d(k) ;
}
感謝すべてのヘルプ
を試してみました。編集: -
私はちょうど
Eigen::VectorXd rowD = D.row(1);
....
に
auto d = D.row(1);
を変更しようとしている、正常に動作するようです。
これはちょっと混乱しています。