Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.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
计算Boost库中的平均值和力矩_Boost - Fatal编程技术网

计算Boost库中的平均值和力矩

计算Boost库中的平均值和力矩,boost,Boost,我正在尝试使用Boost库的累加器实现一个计算平均值和力矩的程序。代码如下: #include <iostream> #include <boost/accumulators/accumulators.hpp> #include <boost/accumulators/statistics/mean.hpp> #include <boost/accumulators/statistics/moment.hpp> using namespace

我正在尝试使用Boost库的
累加器
实现一个计算平均值和力矩的程序。代码如下:

#include <iostream>

#include <boost/accumulators/accumulators.hpp>
#include <boost/accumulators/statistics/mean.hpp>
#include <boost/accumulators/statistics/moment.hpp>
using namespace  boost::accumulators;

int main()
{
    accumulator_set<double,stats<tag::mean,tag::moment<2> > >acc;
    //push  in some data
    acc(1.2);
    acc(2.3);
    acc(3.4);
    acc(4.5);
    std::cout<<"Mean  :  "<<mean(acc)<<std::endl;
    std::cout<<"moment : "<<accumulators::moment<2>(acc)<<std::endl;

    return 0;
}
你可能需要

#include <boost/accumulators/statistics/stats.hpp>
#包括
但是,在Mac OS X上构建相同的示例时,会出现以下错误:

**** Build of configuration Debug for project Accumulators ****

make all 
Building file: ../src/Accumulators.cpp
Invoking: GCC C++ Compiler
g++ -I/opt/local/include -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/Accumulators.d" -MT"src/Accumulators.d" -o"src/Accumulators.o" "../src/Accumulators.cpp"
../src/Accumulators.cpp: In function 'int main()':
../src/Accumulators.cpp:22: error: 'accumulators' has not been declared
../src/Accumulators.cpp:22: error: no match for 'operator<<' in 'acc << std::endl'
make: *** [src/Accumulators.o] Error 1
****项目累加器配置调试的生成****
全部
生成文件:../src/acculators.cpp
调用:GCC C++编译器
g++-I/opt/local/include-O0-g3-Wall-c-fmessage length=0-MMD-MP-MF“src/acculators.d”-MT“src/acculators.d”-o“src/acculators.o”“../src/acculators.cpp”
../src/acculators.cpp:在函数“int main()”中:
../src/acculators.cpp:22:错误:“acculators”尚未声明

../src/acculators.cpp:22:错误:与“operator不匹配除了已包含的标题外,还必须添加:

#include <boost/accumulators/statistics/moment.hpp>
然后使用以下命令进行编译:

g++ acc.cpp -o acc -I/usr/local/include/boost/ -L/usr/local/lib/

力矩。hpp
包含在OP中。
#include <boost/accumulators/statistics/moment.hpp>
using namespace boost;
g++ acc.cpp -o acc -I/usr/local/include/boost/ -L/usr/local/lib/