Beskrivelse av funksjonen TILFELDIG i Excel 2007 og i Excel 2003

Artikkeloversettelser Artikkeloversettelser
Artikkel-ID: 828795 - Vis produkter som denne artikkelen gjelder for.
Vis alt | Skjul alt

På denne siden

Sammendrag

Denne artikkelen beskriver den modifiserte algoritmen som brukes i funksjonen tilfeldig tall-generator, TILFELDIG, i Microsoft Office Excel 2007 og i Microsoft Office Excel 2003.

Mer informasjon

I tidligere versjoner av Excel brukte funksjonen TILFELDIG en pseudo-tilfeldig tallgeneratoralgoritme som ikke hadde god nok ytelse på standard tilfeldighetstester. Selv om det bare vil påvirke brukere som kaller funksjonen TILFELDIG svært ofte, for eksempel en million ganger eller mer, og det ikke vil være et problem for så godt som alle andre brukere, er algoritmen for pseudo-tilfeldig tallgenerator som er beskrevet her, først implementert for Excel 2003. Den består samme utvalg standardtester.

Utvalget tester kalles Diehard (se merknad 1). Algoritmen som implementeres i Excel 2003, er utviklet av B.A. Wichman og I.D. Hill (se merknad 2 og 3). Tilfeldig tall-generatoren brukes også i RAT-STATS-programvarepakken levert av Office of the Inspector General, U.S. Department of Health and Human Services. Rotz et al (se merknad 4) har vist at den består DIEHARD-testene og ytterligere tester utviklet av National Institute of Standards and Technology (NIST, tidligere National Bureau of Standards).

Merknader

  • Testene er utviklet av Professor George Marsaglia, Department of Statistics, Florida State University, og er tilgjengelige på følgende webområde:
    http://www.csis.hku.hk/~diehard
  • Wichman, B.A. og I.D. Hill, Algorithm AS 183: An Efficient and Portable Pseudo-Random Number Generator, Applied Statistics, 31, 188-190, 1982.
  • Wichman, B.A. og I.D. Hill, Building a Random-Number Generator, BYTE, ss. 127-128, mars 1987.
  • Rotz, W. og E. Falk, D. Wood og J. Mulrow, A Comparison of Random Number Generators Used in Business, presentert ved Joint Statistical Meetings, Atlanta, GA, 2001.
Konseptet er som følger: Hvis du tar tre tilfeldige tall på [0,1] og legger dem sammen, vil tallet på plassen bak kommaet også være et tilfeldig tall på [0,1]. De kritiske setningene i Fortran code-listingen fra den originale artikkelen skrevet av Wichman og Hill, er som følger:
C	IX, IY, IZ BØR ANGIS SOM HELTALL MELLOM 1 OG 30000 FØR FØRSTE INNTASTING

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)
Derfor genererer IX, IY, IZ heltall mellom henholdsvis 0 og 30268, 0 og 30306 og 0 og 30322. Disse kombineres i den siste setningen for å implementere det enkle prinsippet som ble nevnt tidligere: Hvis du tar tre tilfeldige tall på [0,1] og summerer dem, vil plassene bak kommaet i summen også være et tilfeldig tall på [0,1].

Fordi TILFELDIG produserer pseudo-tilfeldige tall, vil sekvensen til slutt gjentas hvis det produseres en lang sekvens. Ved å kombinere tilfeldige tall med Wichman-Hill-metoden er det garantert at mer enn 10^13 tall genereres før repetisjonen starter. Flere Diehard-tester gav ikke tilfredsstillende resultater med tidligere versjoner av TILFELDIG, fordi syklusen før tallene ble repetert, var kortere enn det som var akseptabelt.

Resultater i tidligere versjoner av Excel

I tidligere versjoner av Excel fungerte funksjonen TILFELDIG greit i praksis for brukere som ikke trengte en lengre sekvens av tilfeldige tall (for eksempel en million). Funksjonen strøk i flere tilfeldighetstester, og ytelsen ble et problem ved behov for en lengre sekvens av tilfeldige tall.

Resultater i Excel 2003

En enkel og effektiv algoritme er implementert. Den nye generatoren består alle standard tilfeldighetstester.

Konklusjoner

Privilegerte brukere av TILFELDIG som trenger lengre sekvenser av tilfeldige tall, har bedre nytte av den nye generatoren i Excel 2003. Andre brukere trenger ikke å bekymre seg for å bruke TILFELDIG i tidligere versjoner av Excel.

Referanser

Hvis du vil ha mer informasjon om et dokumentert problem med TILFELDIG, kan du klikke følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:
834520 Funksjonen TILFELDIG gir negative tall i Excel 2003 (denne artikkelen kan være på engelsk)

Egenskaper

Artikkel-ID: 828795 - Forrige gjennomgang: 21. februar 2007 - Gjennomgang: 5.0
Informasjonen i denne artikkelen gjelder:
  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
Nøkkelord: 
kbinfo kbfunctions kbfuncstat KB828795

Gi tilbakemelding

 

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