Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用具有特征::向量类型的升压累加器_C++_Boost_Eigen_Boost Accumulators - Fatal编程技术网

C++ 使用具有特征::向量类型的升压累加器

C++ 使用具有特征::向量类型的升压累加器,c++,boost,eigen,boost-accumulators,C++,Boost,Eigen,Boost Accumulators,我在将Eigen::VectorXd类型与Boost累加器库组合时遇到一些问题: #include <iostream> #include <Eigen/Core> #include <boost/accumulators/accumulators.hpp> #include <boost/accumulators/statistics/stats.hpp> #include <boost/accumulators/statistics/me

我在将
Eigen::VectorXd
类型与Boost累加器库组合时遇到一些问题:

#include <iostream>
#include <Eigen/Core>
#include <boost/accumulators/accumulators.hpp>
#include <boost/accumulators/statistics/stats.hpp>
#include <boost/accumulators/statistics/mean.hpp>

using namespace boost::accumulators;
using namespace Eigen;

int main()
{
   Vector2f a(1.0, 2.0), b(3.0, 10.0);

   accumulator_set<Vector2f, stats<tag::mean> > acc(Vector2f::Zero());

   acc(a);
   acc(b);

   std::cout << mean(acc) << std::endl;
   std::cout << ((a+b)/2.0) << std::endl;

   return 0;
}

因此,虽然直接计算很好(特征向量支持所有常用的数值运算符),但增压累加器在运行时会失败,不会出现错误。

用户定义的类型需要专门化std::numeric_limits。 看

4.41629e-39
0
2
6