Popis funkce NÁHČÍSLO v aplikacích Excel 2007 a Excel 2003

Překlady článku Překlady článku
ID článku: 828795 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento článek obsahuje upravený algoritmus používaný generátorem pseudonáhodných čísel, funkcí NÁHČÍSLO, v aplikacích Microsoft Office Excel 2007 a Microsoft Office Excel 2003.

Další informace

Funkce NÁHČÍSLO ve starších verzích aplikace Excel používala algoritmus generace pseudonáhodných čísel, jehož výsledky ve standardních testech náhodnosti nebyly dostačující. Tato skutečnost ovlivní pravděpodobně pouze ty uživatele, kteří potřebují funkci NÁHČÍSLO volat velmi mnohokrát, například miliónkrát nebo vícekrát, a měla by se týkat pouze velmi malého počtu uživatelů. Zde popsaný algoritmus generátoru pseudonáhodných čísel byl poprvé implementován v aplikaci Excel 2003. Tento algoritmus stejnou sadu standardních testů splňuje.

Tato sada testů se nazývá Diehard (viz poznámka 1). Algoritmus implementovaný v aplikaci Excel 2003 vyvinuli B. A. Wichman a I. D. Hill (viz poznámka 2 a poznámka 3). Tento generátor pseudonáhodných čísel je používán také softwarovým balíčkem RAT-STATS, který poskytuje Úřad generálního inspektora (Office of the Inspector General) organizace U.S. Department of Health and Human Services. Rotz et al (viz poznámka 4) ukázali, že tento algoritmus splňuje test DIEHARD a další testy vyvinuté organizací National Institute of Standards and Technology (NIST, dříve National Bureau of Standards).

Poznámky:

  • Tyto testy vyvinul profesor George Marsaglia, Department of Statistics, Florida State University, a jsou k dispozici na následujícím webu:
    http://www.csis.hku.hk/~diehard
  • Wichman, B. A., Hill, I. D., Algorithm AS 183: An Efficient and Portable Pseudo-Random Number Generator, Applied Statistics, 31, 188-190, 1982.
  • Wichman, B. A., Hill, I. D., Building a Random-Number Generator, BYTE, pp. 127-128, březen 1987.
  • Rotz, W., Falk, E., Wood, D., Mulrow, J., A Comparison of Random Number Generators Used in Business, prezentováno na konferenci Joint Statistical Meetings, Atlanta, GA, 2001.
Základní myšlenkou je skutečnost, že sečtením tří náhodných čísel z intervalu [0,1] získáme součet, jehož desetinná část je náhodné číslo z intervalu [0,1]. Kód v jazyce Fortran uvedený v článku Wichmana a Hilla obsahuje následující kritické výrazy:
C	IX, IY, IZ SHOULD BE SET TO INTEGER VALUES BETWEEN 1 AND 30000 BEFORE FIRST ENTRY

IX = MOD(171 * IX, 30269)

IY = MOD(172 * IY, 30307)

IZ = MOD(170 * IZ, 30323)

RANDOM = AMOD(FLOAT(IX) / 30269.0 + FLOAT(IY) / 30307.0 + FLOAT(IZ) / 30323.0, 1.0)
Proměnné IX, IY a IZ tedy generují celá čísla v intervalech 0 až 30268, 0 až 30306 a 0 až 30322 (v uvedeném pořadí). Tato čísla jsou v posledním příkazu sloučena a implementují jednoduchý výše uvedený princip: sečtením tří náhodných čísel z intervalu [0,1] získáme součet, jehož desetinná část je náhodné číslo z intervalu [0,1].

Funkce NÁHČÍSLO generuje pseudonáhodná čísla. Pokud z nich je tedy vytvořena dlouhá posloupnost, tato posloupnost se časem začne opakovat. Kombinace náhodných čísel (například algoritmus Wichman-Hill) zaručuje, že k opakování dojde až po generování více než 10^13 čísel. Starší verze funkce NÁHČÍSLO dávaly v několika testech Diehard neuspokojivé výsledky, protože se čísla začala opakovat po nepřijatelně krátkém cyklu.

Výsledky ve starších verzích aplikace Excel

Funkce NÁHČÍSLO ve starších verzích aplikace Excel byla v praxi bezproblémová pro uživatele, kteří nepotřebovali dlouhou posloupnost náhodných čísel (např. milión). Tato funkce však nesplňovala několik standardních testů náhodnosti, což způsobovalo problémy v případě potřeby dlouhé posloupnosti náhodných čísel.

Výsledky v aplikaci Excel 2003

Byl implementován jednoduchý a efektivní algoritmus. Nový generátor splňuje všechny standardní testy náhodnosti.

Závěry

Pro pokročilé uživatele funkce NÁHČÍSLO, kteří potřebují dlouhé posloupnosti náhodných čísel, je nový generátor v aplikaci Excel 2003 lepší. Ostatní uživatelé se nemusejí obávat použití funkce NÁHČÍSLO ve starších verzích aplikace Excel.

Odkazy

Další informace o problému dokumentovaném pro funkci NÁHČÍSLO naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
834520 Funkce NÁHČÍSLO v aplikaci Excel 2003 vrací záporná čísla (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)

Vlastnosti

ID článku: 828795 - Poslední aktualizace: 21. února 2008 - Revize: 5.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
Klíčová slova: 
kbinfo kbfunctions kbfuncstat KB828795

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com