witam,
potrzebuje generowac liczby w rozkładzie normalnym, wykładniczym i jednolitym.
byłbym wdzięczny za wszelkie wskazówki lub materiały!
w javie nie moge nic znalezc w necie
witam,
potrzebuje generowac liczby w rozkładzie normalnym, wykładniczym i jednolitym.
byłbym wdzięczny za wszelkie wskazówki lub materiały!
w javie nie moge nic znalezc w necie
Nie mam czasu zaglebiac sie w Twoj problem, ale to Ci pomoze (z jakiegos mojego starego projektu):
Random generator_01 = new Random();
public double losuj(double alfa)
{
double x = generator_01.nextDouble();
return -(1/alfa)*Math.log(1-x);
}
tutaj masz losowania dla rozkladu wykladniczego o danej alfie. Reszte chyba dasz rade zrobic sam.
czyli to => return -(1/alfa)*Math.log(1-x);
jest wzorem na rozkład wykladniczy? Bo nie mogłem nigdzie znaleźć jakiegoś wzoru, na polskiej wikipedi jest niewiele napisane a na angielskiej zadnego konkretnego wzoru
jordand napisał(a)
czyli to => return -(1/alfa)*Math.log(1-x);
jest wzorem na rozkład wykladniczy? Bo nie mogłem nigdzie znaleźć jakiegoś wzoru, na polskiej wikipedi jest niewiele napisane a na angielskiej zadnego konkretnego wzoru
To jest wzor na wartosc zwracana z rozkladem wykladniczym ^^ A bardziej matematycznie, jest to funkcja odwrotna do dystrybuanty. Na wikipediach masz zapewne wzory na dystrybuante, wiec musisz przeksztalcic je tak aby znalezc f-cje odwrotna.
czyli jeśli bede chcial wygenerować 10 liczb o rozkladzie wykladniczym to po prostu randomem losuje 10 liczb i kazda podstawiam pod metode losuj i ok? (alfe mam podana)
jordand napisał(a)
czyli jeśli bede chcial wygenerować 10 liczb o rozkladzie wykladniczym to po prostu randomem losuje 10 liczb i kazda podstawiam pod metode losuj i ok? (alfe mam podana)
No tak, masz dana alfe i jej nie zmieniasz, to usun w ogole ja z tej mojej f-cji. Chcesz sprawdzic rozklad, wez wylosuj 100000000 liczb _ i pozniej zrob wykres.