Generátor Poissonova rozdělení – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Generátor Poissonova rozdělení – Java – Fórum – Programujte.comGenerátor Poissonova rozdělení – Java – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
18. 3. 2011   #1
-
0
-

Zdrávím všechny a prosím moc moc o pomoc!!

Mým úkolem je vygenerovat náhodná čísla z poissonova rozdělení s lambda 2000 (což je ten hlavní problém!).
Poskládal jsem do sebe různě z netu kód... když ho spustím s lambda do cca 700, funguje bez problémů, ale pro 2000 prostě nulová šance :-/ Neporadí někdo?



public class Main {

public static void main(String[] args) {
System.out.print("Generátor Poisson 1:");
int lambda = 200;
for(int i = 0; i <= 10; i++)
{
System.out.println();
for(int j = 0; j <= 10; j++)
{
System.out.print(getPoisson(lambda) + ", ");
}
}
System.out.println();
}

public static int getPoisson(double lambda) {
double L = Math.exp(-lambda);
double p = 1.0;
int k = 0;

do {
k++;
p *= Math.random();
} while (p > L);

return k - 1;
}
}

Nahlásit jako SPAM
IP: 88.101.56.–
programování je pro mě kvíz, hádanka, křížovka a hlavolam. nejsem profík, proto prosím o trpělivost. :)
Reklama
Reklama
19. 3. 2011   #2
-
0
-

Ještě jsem zapomněl. Našel jsem knihovnu - http://acs.lbl.gov/software/colt/api/cern/jet/random/Poisson.html - ale popravdě vůbec neumím využívat dokumentaci a nevím, za jaký konec to chytit. Jinak využívám NetBeans. Díky

Nahlásit jako SPAM
IP: 88.101.56.–
programování je pro mě kvíz, hádanka, křížovka a hlavolam. nejsem profík, proto prosím o trpělivost. :)
19. 3. 2011   #3
-
0
-

myslím, že jsem našel kód, který tuto situaci řeší

    public static int getPoisson(double c) {

// reference to http://introcs.cs.princeton.edu/98simulation/
double t = 0.0;
for (int x = 0; true; x++) {
t = t - Math.log(Math.random()) / c; // sum exponential deviates
if (t > 1.0) return x;
}
}


Jestli někdo máte připomínku, zlepšení, optimalizaci, budu rád. :)

Nahlásit jako SPAM
IP: 88.101.56.–
programování je pro mě kvíz, hádanka, křížovka a hlavolam. nejsem profík, proto prosím o trpělivost. :)
KIIV+42
God of flame
19. 3. 2011   #4
-
0
-

jen jednu poznamku.. byl to tvuj ukol udelat.. ne to obslehnout z netu ze? no ale ne ze by mi to vadilo .. aspon za par let uz nebude vubec zadna konkurence mezi programatorama...

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
19. 3. 2011   #5
-
0
-

To KIIV :
:smile1: Jenom upřesním - můj úkol je použít ty výsledky pro statistické výpočty škod v pojišťovnictví - ale nejprve musím ty generovaná čísla dostat. Mohu to vytvořit v nějakém statistickém programu (SPSS apod.), ale ty mi nedají takovou četnost jakou potřebuji, abych s ní mohl dále pracovat (na základě výsledků musím vytvořit ještě generovaná čísla z paretova rozdělejí - viz mé druhé - novější - téma).

Takže k tvému komentáři - nejsem programátor a v praxi se k tomu opravdu moc nedostanu. Pouze jsem si přečetl programování v jazyce Java od Herouta a snažím se si vypomoci.

Nahlásit jako SPAM
IP: 88.101.56.–
programování je pro mě kvíz, hádanka, křížovka a hlavolam. nejsem profík, proto prosím o trpělivost. :)
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 25 hostů

Podobná vlákna

Generátor Paretova rozdělení — založil berka.pavel

Generátor slov — založil marek

Pseudonáhodný generátor — založil hostk

Generátor čísel — založil Apik

Generator grafu — založil Hanz

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý