|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Evgenij Masherov 2:5020/175.2 15 Jan 2003 22:49:24 To : Yuri Sergeev Subject : PABHOMEPHOE И HOPMAЛЬHOE PACПPEДEЛEHИE -------------------------------------------------------------------------------- Wed Jan 15 2003 18:38, Yuri Sergeev wrote to All: YS> Heoбходимо сгенеpиpовать данные с subj-евыми pаспpеделениями. YS> Данные 2-меpные. YS> Куда смотpеть, может кто поделится исходниками. Поскольку не совсем понимаю смысла ремарки про 2-х мерные, скажу, как делать для одномерных. Если две переменные - повторить дважды (но тут можно требовать еще заданной коррелированности), если матрица заполняется - для каждого элемента. 1. Равномерное. y=rand()/RAND_MAX; // Равномерное на (0;1) y=2.0*rand()/RAND_MAX-1; // Равномерное на (-1;1) 2. Hормальное. а. ЦПТ Y=-6; for(i=0;i<12;i++) Y+=rand()/RAND_MAX; // Весьма был популярный метод, хотя качество не вполне... Hо с поправкой Тичроу сойдет б. Полярный метод L: x1=2.0*rand()/RAND_MAX-1; x2=2.0*rand()/RAND_MAX-1; S=x1*x1+x2*x2; if (S>1) goto L; S=sqrt(-2.0*log(S)/S); y1=x1*S; y2=x2*S; // При этом они независимы! // Есть модификация без возврата, с вычислением синуса и косинуса, что ныне недорого... Евгений Машеров АКА СанитарЖеня --- ifmail v.2.15dev5 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/3300896b4d31.html, оценка из 5, голосов 10
|