int main ()
{
double somma = 0. ;
double sommaSq = 0. ;
int eventi = 0 ;
int mioIstogramma[20] ;
for (int i=0; i<20; ++i)
{
mioIstogramma[i] = 0 ;
}
srand (time (NULL)) ;
double step = (2*M_PI - 0) / 20 ;
for (int i=0; i<100000; ++i)
{
double numero = randFunc (generationPDF,
0,2 * M_PI,
-0.1,2.1) ; int bin = static_cast<int> (floor (numero / step)) ;
somma += numero ;
sommaSq += numero * numero ;
++eventi ;
++mioIstogramma[bin] ;
} int maxIsto = 0 ;
for (int i=0; i<20; ++i)
{
if (maxIsto < mioIstogramma[i]) maxIsto = mioIstogramma[i] ;
}
int maxColumns = 20 ;
std::cout << "plot dell'mioIstogramma:\n" ;
std::cout << " +---------------------->\n" ;
for (int i=0; i<20; ++i)
{
int numeroSimboli = mioIstogramma[i] * maxColumns / maxIsto ;
std::cout << " | " ;
for (int j=0; j<numeroSimboli; ++j)
{
std::cout << "#" ;
}
for (int j=numeroSimboli; j<22; ++j)
{
std::cout << " " ;
}
std::cout << "mioIstogramma[" << i << "] : " << mioIstogramma[i] ;
std::cout << "\n" ;
} std::cout << " |\n\\/\n\n" ;
std::cout << "media = " << somma / eventi << "\n" ;
std::cout << "sigma = " << sqrt (sommaSq / eventi -
(somma / eventi) * (somma / eventi))
<< "\n" ;
return 0 ;
}
Nessun commento:
Posta un commento