Liczby losowe a warunki losowości

0

Witam,
Muszę napisać program, który sprawdzi czy generator liczb losowych spełnia podstawowe warunki losowości. Czy liczby są sobie równe z dokładnością do odchylenia standardowego?

#include <stdio.h>
#include <math.h>
#define N 4000000
int main ()
{
unsigned int tab[256];

unsigned char wylosowana_liczba;

double suma =0;
int i;
double odchylenie;
double suma2=0;
double srednia2;
double srednia;

/upewniamy sie ze tablica jest rowna zero/

for(i=0;i<256;++i) {
tab[i]=0;
}

/losujemy n liczb i je zliczamy/

for(i=0;i<N;++i) {
/*random() mażna dopisać to - % zamiast unsigned char */
wylosowana_liczba = random(); /ostrzezenie o zakresie/
tab[wylosowana_liczba] += 1;
}

for(i=0;i<256;++i) {
suma=suma+tab[i];
suma2 =suma2 + ((double)tab[i]*(double)tab[i]);
}

srednia=suma/256;
/for(i=0;i<100;++i)
{
suma2+=(tab[i]-srednia)
(tab[i]-srednia);
}
*/
srednia2=suma2/256;

printf("srednia wynosi %lf\n",srednia);
printf("srednia2 wynosi %lf\n",srednia2);
odchylenie=sqrt(srednia2-srednia*srednia);
printf("odchylenie=%lf\n", odchylenie);
return 0;
}

Mam coś takiego i nie wiem co dalej. Od jakiej liczby przestaje to działać?

2

wyznaczasz duża liczbę tych liczb losowych i liczysz dla nich kilka parametrów statystycznych (np momenty statystyczne) a następnie sprawdzasz czy te parametry są wystarczająco zgodne z wartościami oczekiwanymi.
najpierw robisz to dla zmiennej losowje xi , a następnie dla zmiennej losowje xi*xi-1 (chcesz sprawdzić czy korelacje między kolejnymi liczbami nie są zbyt duże).

0

Problem rozwiązany. Dzięki za pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1