|
О разворачивании длинного целого в набор из 100 псевдослучайных действительных
|
|||
---|---|---|---|
#18+
Я хочу поработать (в VBA) с большим количеством (псевдо-)случайных наборов по 100 действительных чисел: X(i), i=1..100 (предположим, в диапазоне [0; 1] каждое, но это не важно) -- так, что мне нужно будет накапливать результаты этой работы на диске и потом повторно обрабатывать. Я не хочу сбрасывать на диск сами эти наборы, но хочу, чтобы каждый набор "разворачивался" из одного длинного целого (Dim key as Long) числа, которое служило бы "ключом" этого набора. Я готов к тому, что у меня будет всего четыре с хвостиком миллиарда разных наборов, этого мне достаточно. Однако как порождать такой набор из его "ключа"? Первое, что приходит на ум -- инициировать этим ключом Rnd(): Код: vbnet 1.
и заполнять набор сотней последовательных значений Rnd: Код: vbnet 1. 2.
Однако известно, что "мощность" Rnd всего 16 с хвостиком миллионов, а мне этого мало. Оцените, пожалуйста, такую идею: сделать "на коленке" свой ГПСЧ, который, может быть, будет не слишком хорош по каким-то не доступным моему уму соображениям, но мощность которого точно будет все 4 миллиарда -- например, на основании какой-то простой арифметики по модулю 2^32, -- и порождать этим ГПСЧ -- из key -- свой набор "домотканых" псевдослучайных чисел S(i) (i = 1...100), а потом окончательно "микшировать" X(i) из R(i) и S(i): Код: vbnet 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2021, 13:18 |
|
О разворачивании длинного целого в набор из 100 псевдослучайных действительных
|
|||
---|---|---|---|
#18+
С т.зр. теорвер. Допустим, что оба слагаемых одинаково и равномерно распределены в одном интервале. Тогда плотность суммы будет треугольной. Это значит, что в середине частота выпадания существенно выше, чем по краям. Этим сумма плоха, если нужна равновероятность. Но и об этом уже раньше говорилось, я помню, предлагалось стыковать бинарники. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2021, 22:25 |
|
|
start [/forum/topic.php?fid=60&msg=40067407&tid=2154729]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
28ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 279ms |
total: | 396ms |
0 / 0 |