EXCEL-kysymys: normaalisti jakautunut satunnaisluku
-
credit
- Jäsen
- Viestit: 5495
- Liittynyt: 02.08.2003, 00:47
-
Tuotto: +232.86 yks.
Palautus%: 104.64%
Panosten ka: 1.57 yks.
Vetoja: 3193
- Pisteitä: 4785
EXCEL-kysymys: normaalisti jakautunut satunnaisluku
-
kit
- Jäsen
- Viestit: 104
- Liittynyt: 14.09.2003, 12:49
- Pisteitä: 11
Re: EXCEL-kysymys: normaalisti jakautunut satunnaisluku
credit kirjoitti:Eli otsikko kertoo kaiken: miten Excelistä saa normaalisti jakautuneen satunnaisluvun?
Pitäis onnistua: Tools > Data Analysis > Random Number Generation (Jos tools valikosta ei löydy Data Analysista, voit lisätä sen Add-ins-valikosta)
Se antaa sulle taulukon, jossa voit määritellä montako lukua haluat, millä keskiarvolla, millä keskihajonnalla ja minne ne pläjäytetään. Distributioniksi annetaan: Normal
En ole koskaan itte tuota hyödyntänyt, mutta näyttäis toimivan ihan ketterästi.
Minikommentit
-
credit
- Jäsen
- Viestit: 5495
- Liittynyt: 02.08.2003, 00:47
-
Tuotto: +232.86 yks.
Palautus%: 104.64%
Panosten ka: 1.57 yks.
Vetoja: 3193
- Pisteitä: 4785
Re: EXCEL-kysymys: normaalisti jakautunut satunnaisluku
Kohtalaisen ketterästi, mutta hieman ihmettelen, että miksi normaalisti jakautuneiden satunnaislukujen luominen ei onnistu suoraan jollain funktiolla. Nythän ongelmana on se, että kun satunnaislukufunktiota ei voi kirjoittaa suoraan kaavariville, on satunnaisluvut käytännössä luotava erilliseen laskentataulukkoon (tai viereiseen sarakkeeseen, jos ei tarvitse satunnaislukutermiä kuin yhdelle tai kahdelle muuttujalle) ja haettava sieltä laskentakaavoihin. Satunnaisluvut joutuu myös luomaan joka kerta uudestaan, jos haluaa toistaa simulaation eri luvuilla.kit kirjoitti: En ole koskaan itte tuota hyödyntänyt, mutta näyttäis toimivan ihan ketterästi.
Minikommentit
-
power
- Jäsen
- Viestit: 2536
- Liittynyt: 10.12.2003, 15:41
-
Tuotto: -73.99 yks.
Palautus%: 97.85%
Panosten ka: 1.70 yks.
Vetoja: 2030
- Pisteitä: 215
Mikäs tässä funktiossa on vikana?RAND
Returns an evenly distributed random number greater than or equal to 0 and less than 1. A new random number is returned every time the worksheet is calculated.
Syntax
RAND( )
Remarks
To generate a random real number between a and b, use:
RAND()*(b-a)+a
If you want to use RAND to generate a random number but don't want the numbers to change every time the cell is calculated, you can enter =RAND() in the formula bar, and then press F9 to change the formula to a random number.
Minikommentit
-
pjl
- Jäsen
- Viestit: 1103
- Liittynyt: 02.03.2003, 14:15
-
Tuotto: -13.78 yks.
Palautus%: 96.64%
Panosten ka: 3.90 yks.
Vetoja: 105
- Pisteitä: 162
- Paikkakunta: Turku
- Viesti:
Ei liene normaalijakautunut, jos ymmärrän tämän kohdan oikein.power kirjoitti:Mikäs tässä funktiossa on vikana?RAND
Returns an evenly distributed random number greater than or equal to 0 and less than 1. A new random number is returned every time the worksheet is calculated.
Syntax
RAND( )
Remarks
To generate a random real number between a and b, use:
RAND()*(b-a)+a
If you want to use RAND to generate a random number but don't want the numbers to change every time the cell is calculated, you can enter =RAND() in the formula bar, and then press F9 to change the formula to a random number.
Returns an evenly distributed random number
Minikommentit
-
power
- Jäsen
- Viestit: 2536
- Liittynyt: 10.12.2003, 15:41
-
Tuotto: -73.99 yks.
Palautus%: 97.85%
Panosten ka: 1.70 yks.
Vetoja: 2030
- Pisteitä: 215
Ok, no tälläinen keinoi löytyi:pjl kirjoitti: Ei liene normaalijakautunut, jos ymmärrän tämän kohdan oikein.
Returns an evenly distributed random number
Jos tuo ei kelpaa, niin pitää varmaankin pelleillä makrojen/VBA:n ja tuon Random Number Generationin kanssa.How to Calculate a Random Number from a Normal Distribution
Remember that the NORMINV function returns a value given a probability:
NORMINV(probability, mean, standard_dev)
Also, remember that RAND() function returns a random number between 0 and 1. That is, RAND() generates random probabilities. Therefore, it seems logical that you could use the NORMINV function to calculate a random number from a normal distribution, using this formula:
=NORMINV(RAND(), mean, standard_dev)
However, Jerry W. Lewis -- a former Excel MVP and a professional statistician -- offers a stern comment about this approach. "Using NORMINV(RAND(),...) to generate Normal variates is totally unacceptable prior to Excel XP, and is only marginal in XP. This is because of inadequacies in NORMINV and in the tails of NORMDIST itself."
"NORMINV prior to Excel XP produced a very un-normal fraction of values around 6 million standard deviations from the mean," Jerry wrote. "This is due to inaccuracies in the implementation of NORMDIST and NORMINV. Excel XP brought those values into a less obviously wrong location, but otherwise did little to improve the situation. NORMINV in Excel 2003 is a decent implementation."
Instead, Jerry recommends the Box-Muller method described here: http://mathworld.wolfram.com/Box-Muller ... ation.html
This method, he wrote, is limited only by the inadequacies of the RAND() function prior to Excel 2003, which had unacceptable autocorrelation.
The Box-Muller approach suggests that Excel users should use this formula to calculate a random number from a normal distribution:
=SQRT(-2*LN(RAND()))*SIN(2*PI()*RAND())
The Box-Muller method is mathematically exact, Jerry writes, if implemented with a perfect uniform random number generator and infinite precision.
Minikommentit