Форум: "Основная";
Текущий архив: 2006.08.20;
Скачать: [xml.tar.bz2];
ВнизГенерирование пары независимых равномерно распределенных чисел Найти похожие ветки
← →
Mictian (2006-07-02 17:25) [0]Привет всем!!! Очень прошу о помощи, как сделать на Delphi, чтобы сгенерировать пару независимых равномерно распределенных чисел a,b из отрезка (-1,1). Я уже все голову сломал, а времени осталось мало =(
← →
DrPass © (2006-07-02 17:31) [1]a:= random * 2 - 1;
b:= random * 2 - 1;
правда, это пара псевдослучайных, а не случайных и независимых чисел
← →
RzCoDer © (2006-07-02 17:39) [2]добавить Randomize вперёд и будет вам случайность ;)
← →
RzCoDer © (2006-07-02 17:39) [3]добавить Randomize вперёд и будет вам случайность ;)
← →
Ketmar © (2006-07-02 17:40) [4]ПСЕВДОслучайность.
← →
PSPF2003 © (2006-07-02 17:42) [5]
> ПСЕВДОслучайность.
Есть другие варианты?
← →
Mictian (2006-07-02 17:47) [6]Т.е. просто
randomize;
a:=random;
b:=random; - ???
А как же соблюдения отрезка???
← →
Джо © (2006-07-02 17:48) [7]> А как же соблюдения отрезка???
А что с ним не так? :)
← →
Mictian (2006-07-02 17:50) [8]Понимаешь, я просто не до каонца понимаю что это ваще такое =) Че за отрезок от -1 до 1, то что random и randomize надо юзать, эт я сразу понял, но вот этот отрезок он сбивает с толку...
← →
Mictian (2006-07-02 17:52) [9]Да, а если просто так писать, то только положительные получаются...
← →
Ketmar © (2006-07-02 17:54) [10]>PSPF2003 © (02.07.06 17:42) [5]
немеряно.
← →
MBo © (2006-07-02 18:05) [11]>Да, а если просто так писать, то только положительные получаются...
В первом же посте тебе написали, как делать.
← →
Mictian (2006-07-02 18:12) [12]Да, пасибо, все работает, формулы подставил, сейчас буду рисовать графики ;)
← →
PSPF2003 © (2006-07-02 18:17) [13]
> немеряно.
Например?
← →
Ketmar © (2006-07-02 19:00) [14]>PSPF2003 © (02.07.06 18:17) [13]
например, использовать программно-аппаратные решения.
← →
RzCoDer © (2006-07-02 19:10) [15]ну можно конечно сделать завиимость от движения пользователя мышкой - самое дешёвое из более менее случайных
← →
Mictian (2006-07-03 11:43) [16]Алгоритм генерирования псевдослучайных чисел с нормальным законом распределения с нулевым математическим ожиданием и единичным среднеквадратичным отклонением.
Вначале генерируется пара независимых равномерно распределенных чисел U, V из отрезка (-1, 1). Затем, если S=U^2+V^2<1, то пара чисел Znach1:=u*sqrt(-2*ln(s)/s), Znach2:=v*sqrt(-2*ln(s)/s) являются независимыми нормально распределенными псевдослучайными числами и помещаются в массив r.
Проблема с расчетом матожидания и дисперсии, т.к. просто не знаю, как ее тут посчитать. Еще трабла с массивом. Исходник того, что есть прилагается (http://www.delphisources.ru/forum/attachment.php?attachmentid=18&d=1151911138)
← →
MBo © (2006-07-03 12:18) [17]>Mictian (03.07.06 11:43) [16]
Пост непонятен - то ли делишься знаниями, то ли вопрос имеешь, а сентенция о том, что пара чисел являются норм. распределенными - вообще странная (для двух чисел нельзя говорить ни о каком законе распределения)
Если нужно нормальное распределение, используй RandG из модуля Math
← →
Jeer © (2006-07-03 12:19) [18]мат ожидание = среднее по реализации
дисперсия = среднее по квадратам (значение минус мат.ожидание) реализации
← →
Mictian (2006-07-03 12:20) [19]
> мат ожидание = среднее по реализации
> дисперсия = среднее по квадратам (значение минус мат.ожидание)
> реализации
Можно чуть, подробнее...
← →
Jeer © (2006-07-03 12:20) [20]
> Алгоритм генерирования
Это один из методов.
← →
Чапаев © (2006-07-03 12:21) [21]
> a:= random * 2 - 1;
Это будет [-1;1), а не (-1;1).
← →
Mictian (2006-07-03 12:21) [22]
> Пост непонятен - то ли делишься знаниями, то ли вопрос имеешь,
> а сентенция о том, что пара чисел являются норм. распределенными
> - вообще странная (для двух чисел нельзя говорить ни о каком
> законе распределения)
Понимаешь, первый раз черьезно столкнулся с матиматикой, не знаю от чего отталкиваться...
← →
Jeer © (2006-07-03 12:23) [23]Mictian (03.07.06 12:20) [19]
1. Возьми любой учебник по статистике.
2. В дельфи есть Mean, StdDev и тп.
← →
Mictian (2006-07-03 12:23) [24]
> Это будет [-1;1), а не (-1;1).
Предложили еще (random *2-1)/2
← →
Jeer © (2006-07-03 12:24) [25]Mictian (03.07.06 12:21) [22]
> первый раз черьезно столкнулся с матиматикой
На какой скорости ?
Похоже с русским тоже было столкновение.
← →
Mictian (2006-07-03 12:26) [26]
> Похоже с русским тоже было столкновение.
Ладно, сори за оффтоп, опечатался =)
← →
Чапаев © (2006-07-03 12:31) [27]
> Предложили еще (random *2-1)/2
Так ведь в любом случае область значений Random() [0;1), то есть "ноль" получить можно, а "один" -- нет.
← →
MBo © (2006-07-03 12:53) [28]>Чапаев © (03.07.06 12:21) [21]
>Это будет [-1;1), а не (-1;1).
Ну такими эффектами в большинстве случаев пренебрегают, хотя иногда эьо и бывает важно
>Mictian (03.07.06 12:23) [24]
>Предложили еще (random *2-1)/2
Для чего предложили????
Из школьной математики известно, что точки отрезка 0..1 отображаются
на отрезок a..b путем применения линейного преобразования y = a + x*(b-a)
Линейность преобразования (x/(1-x) = (y-a)/(b-y)) ведет к сохранению распределения.
← →
Mictian (2006-07-03 14:06) [29]Так как найти дисперсию и матожидание???
Я нашел, что в Math описана функция Total Variance для полной дисперсии, а как ее юзать??? Есть ли что-то для матожидания???
← →
Mictian (2006-07-03 14:11) [30]Кстати, нет у кого-нибудь книги Поляков Д.Б., Круглов И.Ю. Программирование в среде Турбо Паскаль (Версия 5.5) в электронном варианте???
← →
MBo © (2006-07-03 14:40) [31]>Так как найти дисперсию и матожидание???
Чего?
MeanAndStdDev из Math не устроит?
← →
Mictian (2006-07-03 14:53) [32]
> MeanAndStdDev из Math не устроит?
Ну не работал совсем с математикой, что это такое??? Как пользоваться этими функциями???
← →
MBo © (2006-07-03 15:00) [33]>Ну не работал совсем с математикой, что это такое???
Почитать книги и статьи
>Как пользоваться этими функциями???
Почитать хелп
← →
Mictian (2006-07-03 15:02) [34]
> Почитать книги и статьи
Времени не так много, я кое-что нашел Яндексом про распределение, а с остальным туго... А делать надо очень срочно =(
← →
Jeer © (2006-07-03 15:26) [35]Mictian (03.07.06 14:53) [32]
> Ну не работал совсем с математикой
Ну и дальше не работай.
> А делать надо очень срочно
Нам не надо и даже не срочно.
← →
Mictian (2006-07-03 18:09) [36]Ну заюзал я их, все конечно круто... Да вот че-то преподу надо, чтобы я сам описал по формуле =(
← →
Mictian (2006-07-03 20:36) [37]Все сдалала =)))
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.08.20;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.052 c