|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.04.2011, 15:09 | #1 |
Пользователь
Регистрация: 27.12.2010
Сообщений: 82
|
Генератор случайных чмсел на основе вероятностей
Добрый день.
Я так понимаю random дает равномерное распределение, то есть для random(100)+1 я имею одиныковый шанс получить разные числа в интервале [1;100] Хочу такой алгоритм, чтобы в 10% случаев получать [80;100] в 20% [60;80) в 30% [10;20) в 40% [20;60) Как это лучше реализовать? Пока писал сообщение, придумал такой способ: Код:
А вот на этот счет вообще никаких идей пока нет: Я хочу чтобы к числу Х рандомно прибавлялись 7 следующих чсел -0.15*Х; -0.1*Х; -0.05*Х; 0; 0.15*Х; 0.1*Х; 0.05*Х; что-то похожее на VBA делал. Но там просто с числами от -1,5 до 1,5 с шагом в 0,5 Код:
Последний раз редактировалось 3BEPOBOY; 01.04.2011 в 15:14. |
02.04.2011, 16:45 | #2 |
Пользователь
Регистрация: 27.12.2010
Сообщений: 82
|
Так ничего лучше и не придумал
насчет 2ого варианта все просто, странно что сразу не сообразил Код HTML:
x:=(random(7)-3)/20; y:=y*x; |
02.04.2011, 16:59 | #3 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Код:
P.S. Ну вот... стоит мне пост вписать как авторы уже сами додумываются... Что за день сегодня такой?
I'm learning to live...
|
|
02.04.2011, 17:26 | #4 |
Пользователь
Регистрация: 27.12.2010
Сообщений: 82
|
Stilet
кроме 1 и 0 ничего не выдает. Ну да бог с ним. У меня сейчас другой вопрос на повестке дня. Хотя теме уже немного не соответствует... но все же. Никто не сталкивался с подобными генераторами задач? расстояние для каждой пары точек задано в матрице. Я на днях читал про простейшую игру на делфи - "Тир", там на каком-то image объекте генерировали случайным образом координаты мишеней и стреляли. Я что-то похожее могу применить для своих целей? Надо наверное отдельную тему создать. Только сформулирую вопрос получше Последний раз редактировалось 3BEPOBOY; 02.04.2011 в 17:36. |
25.12.2011, 15:04 | #5 |
Новичок
Джуниор
Регистрация: 25.12.2011
Сообщений: 1
|
3BEPOBOY
огромное спасибо за афигительный способ генерирования чисел с заданной вероятностью я реализовал его для своих нужд - для генерирования результатов футбольных матчей на языке RUBY ON RAILS n = 2 n.times do i=rand(101) if (i>=0) && (i<=2) x=7 elsif (i>2) && (i<=6) x=6 elsif (i>6) && (i<=12) x=5 elsif (i>12) && (i<=23) x=4 elsif (i>23) && (i<=36) x=3 elsif (i>36) && (i<=50) x=2 elsif (i>50) && (i<=71) x=1 elsif (i>71) && (i<=100) x=0 end puts x end то есть от 0 до 7 забитых голов у меня может быть в данном случае,рандомно Последний раз редактировалось Аудунн; 25.12.2011 в 15:04. Причина: Исправление |
24.01.2012, 12:22 | #6 |
Пользователь
Регистрация: 01.12.2009
Сообщений: 13
|
И я тоже, пока читал сообщение, придумал примерно то же самое. Самый нормальный вариант.
|
26.01.2012, 18:48 | #7 |
Пользователь
Регистрация: 21.03.2009
Сообщений: 24
|
Через case все значительно красивее и понятнее
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Генератор случайных чисел | Evgenii(Евгений) | Помощь студентам | 6 | 23.01.2011 22:41 |
C++ генератор случайных чисел | sir.andrey | Помощь студентам | 4 | 03.09.2010 12:22 |
Генератор случайных чисел на основе шума звуковой карты | dx+ | Общие вопросы Delphi | 7 | 20.06.2009 09:52 |
генератор случайных чисел на С++ | ANTI | Общие вопросы C/C++ | 20 | 12.04.2009 13:02 |
Генератор случайных чисел | psychopat | Общие вопросы Delphi | 11 | 18.02.2009 10:39 |