Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> генератор СВ 
:(
    Опции темы
kuvshinka
Дата 29.4.2008, 01:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 386
Регистрация: 27.4.2008

Репутация: нет
Всего: нет



пож-та подскажите (дайте код)  хороший генератор случайных чисел в диапазоне [0;1]
PM MAIL   Вверх
Exai1e
Дата 29.4.2008, 01:27 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 908
Регистрация: 3.12.2006
Где: Moscow

Репутация: 2
Всего: 30



а что по вашему мнению хороший генератор ? random не устраивает ?


--------------------
"Решение зависит от выбранного геморроя" © Snowy
"у нас как в армии - либо работает, либо так и задумано"
PM MAIL ICQ   Вверх
Beltar
Дата 29.4.2008, 07:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 627
Регистрация: 11.1.2006

Репутация: 3
Всего: 7



ЧистА случайнА у Actuba в блоге наткнулся на ссылку на книжку по фундаментальным алгоритмам применительно к Delphi, там так же рассматривался вопрос генерации случайных чисел. Если вас не устраивает генератор Delphi (ну поделите Randon(X)/X получите дроби от 0 до 1 в чем проблема-то?) Можете покурить ее. http://delphist.ru/wp-content/uploads/Backnell.rar Это быстро отобьет желание изобретать велосипед. Всего 38 метров в архиве.

Это сообщение отредактировал(а) Beltar - 29.4.2008, 07:27


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
Poseidon
Дата 29.4.2008, 08:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Цитата(kuvshinka @  29.4.2008,  01:18 Найти цитируемый пост)
пож-та подскажите (дайте код)  хороший генератор случайных чисел в диапазоне [0;1]
Всего 2 строчки...

Код
randomize;
x:= random;




--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
mmvds
Дата 29.4.2008, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 22.12.2007

Репутация: нет
Всего: 6



Rand(n+1)=((a*Rand(n)*(m-1)+c)(mod m))/(m-1)
(m-1) кол-во чисел в диапазоне от 0 до 1 чем больше, тем медленнее работает генератор
Rand(1) - первое значение генератора- можешь задать сам, можно через стандартный рэндом сгенерировать диапазон от 0 до 1
a, c - свободные коэффициенты, можно тоже задать жестко или для пущей надежности рэндомом делать, a, c лучше брать не большими, чем они больше, тем медленнее генерируются числа.
По сути это тот же паскалевский генератор, но в паскале они генерируются 1 раз для всех последовательностей, если без randomize и 1 раз для 1 последовательности, если с randomize, а тут все параметры можно задать самому, или генерировать их каждый раз через стандартный рэндом. 
Правда данный рэндом будет работать гораздо медленнее стандартного, но это заметно только при сравнении времени на большом количестве чисел.

PM MAIL ICQ   Вверх
kuvshinka
Дата 29.4.2008, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 386
Регистрация: 27.4.2008

Репутация: нет
Всего: нет



Exai1e -  "хороший" генератор - генератор с равномерным распределением CD в заданном диапазоне (от 0 до 1)



PM MAIL   Вверх
Poseidon
Дата 29.4.2008, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



kuvshinka, ты понимаешь что такие величины не будут абсолютно случайными, т.е. если случайно точка попала в левую часть дивпозона, то повторно ей нужно попасть в правую часть, что бы добится равномерного распределения по диапазону. А это уже будет псевдослучайная величина, т.к. мы ей говорим что нужно попасть в правую часть.

Раз уж на то пошло, то "Хороший" генератор - это генератор, который не зависет от внешних факторов. Который выдает абсолютно случайные величины. Получить такое не реально! Random таким быть не может, потому как он выдает величины из определенной последовательности. Randomize всего-лишь "сдвигает" последовательность Random в зависемости от системного времени (т.е. имеет зависемость от времени). Поэтому все же придется определить для себя, что подходит для "случайности". Если системное время подходит, то используй Randomize. Если нет, можешь привязаться к тактам процессора в момент запуска генератора, положению Земли относительно Солнца, и т.п.  smile 


Это сообщение отредактировал(а) Poseidon - 29.4.2008, 10:39


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Esperito
Дата 2.5.2008, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 2.9.2007

Репутация: 1
Всего: 3



Random хороший.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0455 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.