私はブーストアキュムレータを使って、ベクトルである変数の統計を計算したかったのです。これを行う簡単な方法はありますか?私はそれが愚かなものを使用することは不可能だと思う:ベクトルでブーストアキュムレータを使用することはできますか?
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
私が望むのは、多くのベクトルの成分の平均であるベクトルを計算するアキュムレータを持つことでした。簡単な方法がありますか?
編集:私は徹底的に明らかになった場合、私は知らない
。私はこれが欲しくない:
for_each(vec.begin(), vec.end(),acc);
これは、与えられたベクトルのエントリーの平均を計算するだろう。私が必要とするのは違う。する
for(int i = 0; i < numberOfMCSteps; i++){
vec = doSomething();
acc(vec);
}
cout << mean(acc);
そして、私は(ACC)を意味します:私はベクトルを吐くだろう機能があります。
vector<double> doSomething();
// this is a monte carlo simulation;
をそして私はこれを何度も実行しては、これらのベクトルのを意味ベクトル計算する必要がありますベクトル自体であり、そのエントリー[i]は、累積されたベクトルのエントリー[i]の手段となる。
これについてのヒントはBoostのドキュメントにありますが、明示的なものではありません。私はちょっとばかだ。 :P
マインドブロー。私はBoost Accumulatorをかなり使いましたが、スカラーでないサンプルのタイプをサポートしていることは決してありませんでした。 – sehe