2017-04-27 17 views
0

私はアルゴリズムの実行時間を変数std::chrono::duration<double>に保存しました。実験を数回繰り返してみましょう(3回言いましょう)ベクトルで平均を計算する3つの継続時間。std :: chrono :: durationの精度<double>とdouble - C++

私はdoubleのベクトルを使用します(time.count()を格納しています)。

期間であり、多かれ少なかれ、

0.003、

0.004、

0.003

とき私は(二重を使用して)平均を計算結果です。

平均を計算するときに精度が高くなっていますか?

+0

私たちはその計算のコードを見ることができますか? –

+0

'double sum = 0; for(int i = 0; i

+1

あなたの質問は、[mcve]または[SSCCE(Short、Self Contained、Correct Example)](http:// sscce。 org) – NathanOliver

答えて

0

平均を計算できるように、ベクトルでループを実行する必要があります。

double sum = 0; 
//define 3 duration objects and initialize it later 
std::chrono::duration<double> a(0.003); 
std::chrono::duration<double> b(0.004); 
std::chrono::duration<double> c(0.003); 
//define a vector of durations 
std::vector<std::chrono::duration<double>> times{a, b, c}; 
//calcuöate the sum of all element in vector 
for (auto x : times) 
{ 
    sum += x.count(); 
} 
//calculate mean as double 
double mean = sum/times.size(); 

std::cout << "Mean Duration: " << mean <<std::endl; 
関連する問題