2012-01-04 4 views
1

Если у меня есть равномерно распределенная случайная величина в [0,1), как я могу ее модифицировать (только с использованием арифметических выражений) s.t. это -1 с вероятностью 1/2 и 1 с вероятностью 1/2?Равномерное распределение [0,1], преобразованное в {-1,1}

+0

Почему вы сдерживали себя излишне только с помощью арифметических выражений? –

+0

Это домашнее задание или вопрос на собеседование? – JJJ

+0

Потому что я чувствую, что мог бы легко решить эти вопросы 3 года назад :-) – user695652

ответ

1

Если пол (или преобразование до ближайшего целого числа ниже х) OK:

floor(x*2)*2-1 

С округлением до ближайшего целого числа:

round(x*2-0.5)*2-1 
+0

yes first a nice: (int) (2 * Math.random()) * 2-1 – user695652

0

Если случайная величина меньше, чем 0,5, сопоставьте его в -1, в противном случае отобразить его на 1.

Edit: Если позволяют использовать абсолютное значение, вы можете сделать (х - 0,5)/ABS (х - 0,5).

+0

спасибо, но я имел в виду только использование арифметических операций – user695652

+0

О, + ',' -', '*' и '/'? – BenH

+0

Можете ли вы использовать целочисленное деление (например, 1/3 = 0)? – BenH

Смежные вопросы