我正在处理两个函数来计算矢量数据集的平均绝对偏差和中位数绝对偏差。我在里面使用了一个重载的calcAverage函数。问题是,我为这两个函数调用返回相同的错误值。C++平均和中位数绝对偏差返回相同的奇怪符号
这是输出。它是否给了我科学记数法?
Mean absolute deviation = 4.09929e-016
Median absolute deviation = 4.09929e-016
这是绝对平均分布函数:
double calcMeanAD(vector<int> data_set){
vector<double> lessMean;
double mean = calcAverage(data_set);
for (auto it = data_set.begin(); it != data_set.end(); ++it){
lessMean.push_back(*it);
}
for (auto it = lessMean.begin(); it != lessMean.end(); ++it){
*it -= mean;
}
return calcAverage(lessMean);
}
这是绝对中位分布函数:
double calcMedAD(vector<int> data_set){
vector<double> lessMed;
double median = calcAverage(data_set);
for (auto it = data_set.begin(); it != data_set.end(); ++it){
lessMed.push_back(static_cast<double>(*it));
}
for (auto it = lessMed.begin(); it != lessMed.end(); ++it){
*it -= median;
}
return calcAverage(lessMed);
}
有谁能够现场的东西/ s的是/是错误的?谢谢。
您在两个函数中都做了同样的事情 - 您如何期待不同的结果? – AlexT
我明白了,谢谢。 – CanadaIT