Powiedzmy, że chcę wygenerować zestaw liczb losowych z przedziału (a, b)
. Wygenerowana sekwencja powinna również mieć właściwość, która jest posortowana. Mogę wymyślić dwa sposoby na osiągnięcie tego.
Niech n
będzie długością sekwencji, która ma zostać wygenerowana.
Pierwszy algorytm:
Let `offset = floor((b - a) / n)`
for i = 1 up to n:
generate a random number r_i from (a, a+offset)
a = a + offset
add r_i to the sequence r
Drugi algorytm:
for i = 1 up to n:
generate a random number s_i from (a, b)
add s_i to the sequence s
sort(r)
Moje pytanie brzmi: czy algorytm 1 wytwarza sekwencje równie dobre, jak te generowane przez algorytm 2?
R
. W celu wytworzenia tablicy zestawów n liczb losowych nad równomiernie rozmieszczonych [ , b ] następujący kod działania: .rand_array <- replicate(k, sort(runif(n, a, b))