Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Преобразование Бокса-Мюллера C++

Клаус Гуру (3263), на голосовании 9 лет назад
Делал генератор согласно этой формуле для преобразования брал случайные числа из равномерного распределения на интервале (0;1] (array1), но распределение действует наоборот (больше значений в районе СКО +1 и -1, а в математическом ожидании 0 наоборот - минимум)

array2[ij]=cos(2*PI*array1[ij+1])*pow((-2)*log(array1[ij]),(1/2));

array2[ij+1]=sin(2*PI*array1[ij+1])*pow((-2)*log(array1[ij]),(1/2));
Голосование за лучший ответ
Николай Просветленный (35707) 9 лет назад
Вы учитываете, что синус и косинус на вход принимают радианы, а не градусы?
КлаусГуру (3263) 9 лет назад
А откуда будут градусы, если u - это случайная величина от 0 до 1?
Николай Просветленный (35707) тогда возможно ненужно 2П так как уже приведенно к нужной форме
Похожие вопросы