реклама на сайте
подробности

 
 
> Генератор случайных чисел.
Stanislav_S
сообщение Jul 21 2007, 13:34
Сообщение #1


извечный пессимист
*****

Группа: Свой
Сообщений: 1 113
Регистрация: 9-10-06
Из: Днепропетровск
Пользователь №: 21 125



Потребовалось тут реализовать ГСЧ на AVR. Интересует каков алгоритм реализации, числа должны лежать в диапазоне 0 - 9. В детстве делал такую штуку на МК61 smile.gif, но к сожалению как это делать в памяти совершенно не отложилось smile.gif


--------------------
Slaves are those of this world
Given freedom to lay chains upon The Master
The wolf is no longer free
Release the chains and come for me
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SIA
сообщение Jul 21 2007, 22:24
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 462
Регистрация: 26-06-07
Пользователь №: 28 723



Цитата(Stanislav_S @ Jul 21 2007, 17:34) *
Потребовалось тут реализовать ГСЧ на AVR. Интересует каков алгоритм реализации, числа должны лежать в диапазоне 0 - 9. В детстве делал такую штуку на МК61 smile.gif, но к сожалению как это делать в памяти совершенно не отложилось smile.gif

При таком диапазоне - всего 10 значений - погрешность от дискретности может сравняться с погрешностью от периодичности уже при длине таблицы в 100-200 чисел. Тогда проще всего зашить табличку (50-100 байт всего). Если генерить - то либо ПСП, либо линейный конгруэнтный метод (правда, там множить надо).
Go to the top of the page
 
+Quote Post
Alex255
сообщение Jul 23 2007, 05:24
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 450
Регистрация: 21-12-06
Пользователь №: 23 757



Цитата(SIA @ Jul 22 2007, 02:24) *
При таком диапазоне - всего 10 значений - погрешность от дискретности может сравняться с погрешностью от периодичности уже при длине таблицы в 100-200 чисел. Тогда проще всего зашить табличку (50-100 байт всего). Если генерить - то либо ПСП, либо линейный конгруэнтный метод (правда, там множить надо).

А что такое в данном случае погрешность от дискретности? 07.gif
Go to the top of the page
 
+Quote Post
SIA
сообщение Jul 23 2007, 08:39
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 462
Регистрация: 26-06-07
Пользователь №: 28 723



Цитата(Alex255 @ Jul 23 2007, 09:24) *
А что такое в данном случае погрешность от дискретности? 07.gif

То, что распределение не непрерывное, а всего 10 дискретных значений - 0...9, к примеру, 4,5 не будет никогда.
Go to the top of the page
 
+Quote Post
-=ВН=-
сообщение Jul 23 2007, 08:56
Сообщение #5


Местный
***

Группа: Новичок
Сообщений: 210
Регистрация: 3-11-06
Пользователь №: 21 936



Цитата(SIA @ Jul 23 2007, 12:39) *
То, что распределение не непрерывное, а всего 10 дискретных значений - 0...9, к примеру, 4,5 не будет никогда.

А дискретные случайные величины Вы считаете неправильными? biggrin.gif
Go to the top of the page
 
+Quote Post
SIA
сообщение Jul 23 2007, 15:20
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 462
Регистрация: 26-06-07
Пользователь №: 28 723



Цитата(-=ВН=- @ Jul 23 2007, 12:56) *
А дискретные случайные величины Вы считаете неправильными? biggrin.gif

Да "правильные" они smile.gif, просто при числе состояний N для устаканивания статистики (первой пары моментов - среднего и СКО) достаточно длины выборки порядка N^2. Проще говоря, повторяющаяся таблица длиной порядка N^2 во многих (но, конечно, не всех) задачах будет сравнима с истинно случайными числами. N здесь маленькое, таблица получается короткой. А короткую таблицу шебуршить проще простого, особенно если счетчик модулярный, места займет меньше, чем программный генератор. Я потому и дал несколько вариантов и ссылку - пусть сами выбирают, что лучше подойдет.

Сообщение отредактировал SIA - Jul 23 2007, 15:26
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th June 2025 - 17:11
Рейтинг@Mail.ru


Страница сгенерированна за 0.01417 секунд с 7
ELECTRONIX ©2004-2016