![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Jan 2003
Адрес: Latvia, Riga
Сообщений: 161
|
Задача: необходимо генерировать числа в диапазоне от 0 до 100, но чтобы числа стремящиеся к нулю, встречались чаще остальных. Чтобы было понятнее, накидал картинку и даже прикрепил.
П.С. Звучит просто, но на ночь глядя решение в голову не идет. Буду признателен за идеи или ссылки |
|
|||||
|
Регистрация: Jan 2003
Адрес: Latvia, Riga
Сообщений: 161
|
идея подходит, но в случае, если нужно повторить картинку. В моем случае мне надо сделать функцию, в которую подаешь 3 параметра (min, max, и сила притяжения к границы min), назад получить всего одну цифру
|
|
|||||
|
Что то в таком духе? Код не проверял, это просто концепция. Она вообще может давать с преобладанем к максимуму, но по-моему тяготение к максимуму вам как раз и нужно (судя по иллюстрации )
Последний раз редактировалось fish_r; 08.03.2012 в 04:10. |
|
|||||
|
Почитайте про метод обратного преобразования.
Там же дается пример для экспоненциального распределения, которое вам как нельзя лучше подходит. Функция (результат в приложении): private function exponentialRandom(lambda : Number):Number{ var x : Number = Math.random(); return -(1/lambda)*Math.log(1-x); } Вариант, адаптированный к вашим требованиям:
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ" Мои ачивки: художник-паразит. Последний раз редактировалось ChuwY; 08.03.2012 в 08:41. |
|
|||||
|
Регистрация: Jan 2003
Адрес: Latvia, Riga
Сообщений: 161
|
Именно, то что надо. Спасибо!
|
![]() |
![]() |
Часовой пояс GMT +4, время: 20:51. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| random |
|
|