Generator liczb losowych wg rozkladu Gaussa.

0

Szukam jakiejs fukcji/biblioteki która umożliwiłaby wylosowanie jakiejs liczby z prawdopodobieństwem zgodnym z rozkladem Gaussa o zadanej wartości oczekiwanej i wariancji.

Zna ktoś coś takiego? A może można taki rozład zaimplementować używajać innych, powszechnych funkcji?

0

z tego co mi się wydaje to wystarczy zsumować około 10-30 razy zmienną o rozkładzie równomiernym (albo w ogóle o dowolnym rozkładzie) i wyjdzie rozkład gaussowski. napisałem programik sprawdzający i rzeczywiście coś w tym stylu wychodzi:

#include <cstdio>
#include <cstdlib>
#include <ctime>
#include <cstring>

#define ILE   30
#define PRZED 5
#define GAUSS_RAND_MAX (ILE*(PRZED-1)+1)

int rand_gauss()
{
  int s = 0;
  for (int i=0; i<ILE; i++)
    s+=rand()%PRZED;
  return s;
}

int main()
{
  srand(time(0));
  int t[GAUSS_RAND_MAX];
  memset(t,0,sizeof(int)*GAUSS_RAND_MAX);
  for (int i=0; i<1000000; i++)
    t[rand_gauss()]++;
  for (int i=0; i<GAUSS_RAND_MAX; i++)
    printf("% 4d: %d\n",i,t[i]);
  return 0;
}

możesz sobie pozmieniać parametry, znormalizować oraz przesunąć przedział tak żeby wyszedł ci czubeczek w pobliżu 0.

0

Ok, ale potrzebuje koniecznie w C# i zeby to byla jakas gotowa fukcja bo Twojego rozumowania powiem szczerze ze nie rozumiem.

2

prostytutka, dasz palec to od razu rękę zabiera. Po co robisz temat w dziale C/C++ jeśli oczekujesz odpowiedzi w innym języku? (pytanie retoryczne)

Skorzystaj z twierdzeń:
Wariancja sumy niezależnych zmiennych losowych jest równa sumie wariancji tych zmiennych.
Wzór na wariancję w rozkładzie równomiernym poszukaj tu: http://pl.wikipedia.org/wiki/Rozk%C5%82ad_jednostajny_ci%C4%85g%C5%82y
i tu:
http://home.agh.edu.pl/~bartus/index.php?action=statystyka&subaction=rozklady_dyskretne
O wartości oczekiwanej mam nadzieję że nie muszę mówić jak się liczy.
Wyprowadź sobie. Jesteś na studiach: tutaj nikt nikogo za rączkę nie prowadzi.

0

No dobra, pomyliłem działy, każdemu sie może zdażyć. A odpowiedzi sie spodziewałem konkretnej.. nie ma takich bibliotek dla c# ? I nie jestem na studiach :P

0

wbudowanej niby nie ma, ale podobno TO działa, z tym że rozkładu z tego nie policzysz, a z tych linów co ja ci dałem tak

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