Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Генератор случайных чисел


Автор: kosta 19.3.2005, 18:17
Помогите кто знает есть ли функция генерирования случайных чисел не по равномерному закону распределения, как ето делает обычный рендом, а по закону распределения Гаусса или же по нормальному закону распределения. Если нет стандартной функции то мож ктото сталкивался с такой проблемой, подскажите что делать плз.

Автор: Snowy 19.3.2005, 19:28
У меня есть хрендцать штук генераторов чисел.
Но исходняки на работе.
Если до понедельника никто не запостит, то закину.

Автор: kosta 19.3.2005, 19:31
буду безмерно благодарен

Автор: Vit 19.3.2005, 20:15
Ты наверное удивишься но в Дельфи есть стандартная функция для генерации случайных чисел с распределением по Гауссу. Называется RandG, живёт в модуле Math

Автор: Петрович 19.3.2005, 23:45
to Vit: и правда удивил smile

Автор: Alex103 20.3.2005, 04:20
Вот простенькая функция даже это не функция а просто сам не знаю что.
Код

var x:integer;
x:= Random(1000); //()Здесь ставиться любое число

В этом примере компьютер сгенерит число от 0 до 1000

Автор: Vit 20.3.2005, 04:26
Цитата(Alex103 @ 19.3.2005, 19:20)
Вот простенькая функция даже это не функция а просто сам не знаю что.



Не не туда, эта функция даёт линейное распределение, а человек спрашивает о нормальном, что совсем разные вещи... smile

Автор: Alex103 20.3.2005, 04:32
Цитата(Vit @ 20.3.2005, 04:26)
Цитата(Alex103 @ 19.3.2005, 19:20)
Вот простенькая функция даже это не функция а просто сам не знаю что.



Не не туда, эта функция даёт линейное распределение, а человек спрашивает о нормальном, что совсем разные вещи... smile

Извените я не знал!!! Теперь буду знать. smile

Автор: Snowy 21.3.2005, 09:03
Вот, как обещал, библиотека генераторов. В комплекте:

Normal (Gaussian) Random_Normal
Gamma Random_Gamma
Chi-squared Random_ChiSq
Exponential Random_Exponential
Weibull Random_Weibull
Beta Random_Beta
t Random_T
Multivariate normal Random_MVNorm
Generalized inverse Gaussian Random_Inv_Gauss
Poisson Random_Poisson
Binomial Random_Binomial1 *
Random_Binomial2 *
Negative binomial Random_neg_Binomial
von Mises Random_von_Mises
Cauchy Random_Cauchy

Автор: VTK 4.10.2006, 13:48
Можно хоть пару слов о том, как этим пользоваться?

Автор: Snowy 4.10.2006, 14:44
Там же пример в комплекте

Добавлено @ 14:50 
А какие трудности?
Там в модуле набор функций.
Перед каждой функцией описание.
Выбирай любую и используй.
Вот простой пример:
Код

  i := Trunc(Random_Cauchy * 100); // возвращает случайное число от 0 до 99

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)