Olet tällä hetkellä offline-tilassa. Internet-yhteyden muodostamista uudelleen odotetaan

Excel 2003:n SATUNNAISLUKU-funktion kuvaus

Office 2003:n tuki on päättynyt

Microsoft lopetti Office 2003:n tuen 8.4.2014. Tämä muutos on vaikuttanut ohjelmistopäivityksiin ja suojausasetuksiin. Lue lisätietoja muutoksen vaikutuksesta ja suojauksen varmistamisesta.

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:
  • 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: 03/02/2006 12:36:23 – Versio: 3.0

Microsoft Office Excel 2003

  • kbfuncstat kbfunctions kbinfo KB828795
Palaute
Asimov.clickstreamTracker.init();