Я хотел использовать буст-аккумуляторы для расчета статистики переменной, которая является вектором. Есть ли простой способ сделать это. Я думаю, что невозможно использовать самую глупую вещь:
using namespace boost::accumulators;
//stuff...
accumulator_set<vector<double>, stats<tag::mean> > acc;
vector<double> some_vetor;
//stuff
some_vector = doStuff();
acc(some_vector);
может быть, это очевидно, но я все равно попробовал. : P
Я хотел иметь аккумулятор, который вычислял бы вектор, который является средним для компонент многих векторов. Есть ли легкий выход?
EDIT:
Я не знаю, был ли я полностью ясен. Я не хочу этого:
for_each(vec.begin(), vec.end(),acc);
Это вычислит среднее значение записей данного вектора. Что мне нужно, это другое. У меня есть функция, которая будет плевать векторы:
vector<double> doSomething();
// this is a monte carlo simulation;
И мне нужно выполнить это много раз и вычислить среднее векторное значение этих векторов:
for(int i = 0; i < numberOfMCSteps; i++){
vec = doSomething();
acc(vec);
}
cout << mean(acc);
И я хочу, чтобы означать (acc) сам вектор, чья запись [i] была бы средством записи [i] накопленных векторов.
В документах Boost есть подсказка об этом, но ничего явного. И я немного тупой. : P