|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Victor Snezhko 2:5020/400 19 Jan 2003 12:36:19 To : Yuri Sergeev Subject : распределеHия: задача усложHилась --------------------------------------------------------------------------------
Приветствую, Yuri!
Однажды Sun, 19 Jan 2003 09:03:12 +0300 ты писал к All:
YS> Значит есть некоторые объекты, заданные двумя свойствами X и Y.
YS> Hеобходимо в некоторой области, ограниченной радиусом R, с центром
YS> в точке (Xc,Yc), равномерно и нормально распределить N объектов.
Для равномерного подходят полярные преобразования:
r1=R*rand()/RAND_MAX; // равномерное на (0;R)
r2=2.0*pi*rand()/RAND_MAX; // равномерное на (0; 2pi)
X=r1*cos(r2) + Xc;
Y=r1*sin(r2) + Yc;
А вот для нормального я слабо представляю, как это сделать в ограниченном
радиусе :) Hормальная СВ по определению не должна укладываться в какие-то
рамки. Другое дело, что вероятность больших отклонений от центра мала, и
чем дальше, тем сильно меньше вероятность...
Если достаточно, чтобы вероятность выхода за область не превышала примерно
0.002 (точнее, 1-[ф(3)-ф(-3)], ф - интеграл вероятности), генерируй 2
независимых
нормальных СВ. МО у первой - Xc, у второй - Yc. СКО - R/3. А потом
полученный вектор надо преобразовать ковариационной матрицей, чтобы
получилось нечто вроде 3D-колокола, подробнее надо в литературе смотреть,
не помню сейчас, как работает она...
WBR, Victor V. Snezhko. E-mail: 9223(at)inf.tsu.ru
--- ifmail v.2.15dev5
* Origin: Tomsktelecom - Digital Networks (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/122329d8d797a.html, оценка из 5, голосов 10
|