Je voulais utiliser des accumulateurs boost pour calculer les statistiques d'une variable qui est un vecteur. Y a-t-il un moyen simple de le faire. Je pense qu'il est impossible d'utiliser la plus stupide chose:Est-il possible d'utiliser des accumulateurs boost avec des vecteurs?
using namespace boost::accumulators;
//stuff...
accumulator_set<vector<double>, stats<tag::mean> > acc;
vector<double> some_vetor;
//stuff
some_vector = doStuff();
acc(some_vector);
peut-être cela est évident, mais j'ai essayé quand même. : P
Ce que je voulais, c'était avoir un accumulateur qui calculerait un vecteur qui est la moyenne des composantes de nombreux vecteurs. Y a-t-il un moyen facile de sortir?
EDIT:
Je ne sais pas si je suis bien clair. Je ne veux pas cela:
for_each(vec.begin(), vec.end(),acc);
Cela permettrait de calculer la moyenne des entrées d'un vecteur donné. Ce dont j'ai besoin est différent. J'ai une fonction qui crache des vecteurs:
vector<double> doSomething();
// this is a monte carlo simulation;
Et je dois courir cela plusieurs fois et calculer la Vectorial signifie de ces vecteurs:
for(int i = 0; i < numberOfMCSteps; i++){
vec = doSomething();
acc(vec);
}
cout << mean(acc);
Et je veux dire (acc) à être un vecteur lui-même, dont l'entrée [i] serait le moyen des entrées [i] des vecteurs accumulés.
Theres un indice à ce sujet dans les documents de Boost, mais rien d'explicite. Et je suis un peu bête. : P
Soufflé à l'esprit. J'ai beaucoup utilisé Boost Accumulator, et je n'ai jamais compris qu'il supporte les types d'échantillons non-scalaires. – sehe