"Véletlen" lenne, vagy van rá logikus magyarázat is?
double Mean(const std::vector<double>& v)
{
return std::accumulate(v.cbegin(), v.cend(), 0.0) / v.size();
}
double Foo1(const std::vector<double>& v)
{
double mean = Mean(v);
double result = 0.0;
for (const auto& i : v)
{
result += std::abs(mean - i);
}
return std::sqrt(result/=v.size());
}
double Foo2(const std::vector<double>& v)
{
double mean = Mean(v);
double result = 0.0;
for(const auto& i : v)
{
result += std::pow(mean - i, 2);
}
return std::sqrt(result /= v.size());
}
int main()
{
std::vector<double> v = {6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,9,9,9,10};
std::cout << Foo1(v) << '\n'; // 0.840635
std::cout << Foo2(v) << '\n'; // 0.840635
std::getchar();
return 0;
}
Az, hogy mindkét függvény ugyan azt az eredményt adja vissza erre a számsorra, de bármelyik másikra eltérőt.
// 0.840635
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!