[python] generator pseudonahodnych cisel

Jakub Zíka jakub.zika.21 na gmail.com
Pondělí Červen 27 09:47:36 CEST 2011


Kdyz rikas rovnomerne, myslis tim, ze chces, aby generovane cislo melo
stejnou pravdepodobnost byt z intervalu (1e-16, 1e-15) jako (1e-2,
1e-1)? Tohle rozlozeni neni rovnomerne ale exponencialni. Jeden
zpusob, jak ho generovat (pokud na to tedy neni funkce v modulu
random, to si nepamatuji), je vygenerovat cislo mezi -1 a -16 a
umocnit desitku na toto vygenerovane cislo. Vysledky by pak snad mely
byt takove, jake ocekavas.

Jakub Zika

2011/6/27 vepro <p.zlamal na gmail.com>:
> Vazeni,
> Hledam funkci, ktera by vygenerovala pseudonahodne cislo (float) ze zadaneho
> rozmezi. Vim, ze existuje modul random, ale ten se nechova tak jak bych
> chtel. Pozaduji totiz rozmezi malych cisel (cca  1e-16 az 1e-1). Pokud
> pouziji:
>>>> random.uniform(1e-16,1e-1)
> 0.089854576254274995
>>>> random.uniform(1e-16,1e-1)
> 0.045764433900452504
>>>> random.uniform(1e-16,1e-1)
> 0.02003807577792353
>>>> random.uniform(1e-16,1e-1)
> 0.057407340948749809
>>>> random.uniform(1e-16,1e-1)
> 0.0035282160523427888
>>>> random.uniform(1e-16,1e-1)
> 0.030116609800605126
>>>> random.uniform(1e-16,1e-1)
> 0.045199379902018152
>>>> random.uniform(1e-16,1e-1)
> 0.083892913874330316
>
> Dostavam vzdy hodnoty blizke vyssi mezi. Potreboval bych cisla, ktera jsou
> rovnomerne po celem intervalu.
> Dekuji za radu.
> Vepro
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
>


Další informace o konferenci Python