Liczby losowe a warunki losowości

Odpowiedz Nowy wątek
2015-01-07 15:34
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ć?

edytowany 1x, ostatnio: Julian2000, 2015-01-07 15:36

Pozostało 580 znaków

2015-01-07 15:45

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).


Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.
edytowany 1x, ostatnio: MarekR22, 2015-01-07 15:45

Pozostało 580 znaków

2015-01-12 18:02
0

Problem rozwiązany. Dzięki za pomoc.

edytowany 1x, ostatnio: Julian2000, 2015-04-04 16:49

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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