Excel 2003:n SATUNNAISLUKU-funktion kuvaus

Artikkeleiden käännökset Artikkeleiden käännökset
Artikkelin tunnus: 828795 - Näytä tuotteet, joita tämä artikkeli koskee.
Laajenna kaikki | Kutista kaikki

Tällä sivulla

Yhteenveto

Tässä artikkelissa on Microsoft Office Excel 2003:n SATUNNAISLUKU-satunnaislukugeneraattorifunktiossa käytettävän muokatun algoritmin kuvaus.

Enemmän tietoa

Aiempien Excel-versioiden SATUNNAISLUKU-funktio käytti pseudosatunnaislukugeneraattorialgoritmia, jonka suorituskyky satunnaisuuden suhteen vakiotesteissä ei ollut riittävä. Vaikka tämä vaikuttaa todennäköisesti vain käyttäjiin, joiden on tehtävä lukuisia (miljoona tai enemmän) SATUNNAISLUKU-kutsuja, tässä kuvattu pseudosatunnaislukugeneraattorialgoritmi toteutettiin Excel 2003:ssa. Se läpäisee saman joukon vakiotestejä.

Tämän testijoukon nimi on Diehard (katso huomautus 1). Excel 2003:ssa toteutetun algoritmin kehittivät B.A. Wichman ja I.D. Hill (katso huomautukset 2 ja 3). Tätä satunnaislukugeneraattoria käytetään myös RAT-STATS-ohjelmistopaketissa, jonka tarjoaa (Yhdysvaltain) U.S. Department of Health and Human Servicesin Office of the Inspector General. Rotz et al (katso huomautus 4) on osoittanut sen läpäisevän Diehard-testit ja NISTin (National Institute of Standards and Technology, aiemmin National Bureau of Standards) kehittämät lisätestit.

Huomautuksia

  • Testit kehtti professori George Marsaglia, Department of Statistics, Florida State University. Ne ovat saatavana seuraavasta Web-sivustosta:
    http://www.csis.hku.hk/~diehard
  • Wichman, B.A. ja I.D. Hill, Algorithm AS 183: An Efficient and Portable Pseudo-Random Number Generator, Applied Statistics, 31, 188 - 190, 1982.
  • Wichman, B.A. ja I.D. Hill, Building a Random-Number Generator, BYTE, 127 - 128, maaliskuu 1987.
  • Rotz, W. ja E. Falk, D. Wood sekä J. Mulrow, A Comparison of Random Number Generators Used in Business, esitetty Joint Statistical Meetings -kokouksissa Georgian Atlantassa 2001.
Perusajatus on se, että jos otetaan kolme satunnaislukua kohteessa [0,1] ja lasketaan ne yhteen, summan murtolukuosa itse on satunnaisluku kohteessa [0,1] Alkuperäisen Wichman ja Hill artikkelin Fortran-koodin tärkeät lausekkeet ovat seuraavat:
C	IX, IY, IZ ON MÄÄRITETTÄVÄ KOKONAISLUKUARVOIKSI VÄLILLÄ 1 - 30 000 ENNEN ENSIMMÄISTÄ MERKINTÄÄ

IX = JAKOJ(171 * IX, 30269)

IY = JAKOJ(172 * IY, 30307)

IZ = JAKOJ(170 * IZ, 30323)

RANDOM = AMOD(FLOAT(IX) / 30269.0 + FLOAT(IY) / 30307.0 + FLOAT(IZ) / 30323.0, 1.0)
Tämän vuoksi IX, IY ja IZ luovat kokonaislukuja välillä 0 - 30268, 0 - 30306 ja 0 - 30322, tässä järjestyksessä. Nämä yhdistetään viimeisessä lausekkeessa, jotta aiemmin kuvattu yksinkertainen periaate toteutetaan: jos otetaan kolme satunnaislukua kohteessa [0,1] ja lasketaan ne yhteen, summan murtolukuosa itse on satunnaisluku kohteessa [0,1]

Koska SATUNNAISLUKU tuottaa pseudosatunnaislukuja, jos satunnaislukuja tuotetaan pitkä sarja, jakso toistaa lopulta itseään. Satunnaislukujen yhdistäminen Wichman-Hill-toimintosarjan mukaisesti takaa, että ennen toistumisen alkua luodaan vähintään 10^13 lukua. Jotkin Diehard-testit antoivat epätyydyttäviä tuloksia SATUNNAISLUKU-funktion aiemmilla versioilla, koska lukujen toisto alkoi liian aikaisin.

Tulokset Excelin aiemmissa versioissa

Aiempien Excel-versioiden SATUNNAISLUKU-funktio toimi hyvin niiden käyttäjien osalta, jotka eivät tarvinneet pitkää satunnaislukujen sarjaa (esimerkiksi miljoonaa lukua). Se ei läpäissyt joitakin satunnaisuuden vakiotestejä, joten sen suorituskyky aiheutti ongelmia, kun tarvittiin pitkä satunnaislukujen sarja.

Tulokset Excel 2003:ssa

Toteutettiin yksinkertainen ja tehokas algoritmi. Uusi generaattori läpäisee kaikki satunnaisuuden vakiotestit.

Johtopäätökset

SATUNNAISLUKU-funktion tehokäyttäjät, jotka tarvitsevat pitkiä satunnaislukujen sarjoja, saavat enemmän hyötyä Excel 2003:n uudesta generaattorista. Muiden käyttäjien pitäisi edelleen pystyä käyttämään aiempien Excel-versioiden SATUNNAISLUKU-funktiota.

Saat lisätietoja SATUNNAISLUKU-funktiosta valitsemalla Ohje-valikosta Microsoft Excelin ohje, kirjoittamalla tukitoiminnon Etsi-ruutuun satunnaisluku ja tuomalla ohjeaiheen näyttöön valitsemalla sitten Aloita etsintä.

Suositukset

Saat lisätietoja SATUNNAISLUKU-funktiossa ilmeneväksi dokumentoidusta ongelmasta napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokannassa:
834520 SATUNNAISLUKU-funktio palauttaa negatiivisia lukuja Excel 2003:ssa (tämä artikkeli saattaa olla englanninkielinen)

Ominaisuudet

Artikkelin tunnus: 828795 - Viimeisin tarkistus: 2. maaliskuuta 2006 - Versio: 3.0
Artikkelin tiedot koskevat seuraavia tuotteita:
  • Microsoft Office Excel 2003
Hakusanat: 
kbfuncstat kbfunctions kbinfo KB828795

Anna palautetta

 

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