Генерировать случайное с равномерным распределением в некотором диапазоне

как я могу сгенерировать случайное число с равномерным распределением в некотором диапазоне, то есть [a, b], используя q?

Я нашел какое-то решение, но, честно говоря, я не знаю, как его переписать, потому что эти решения генерируют случайные числа в диапазоне (0: 1).

uniformRandomVariate : { []
        (1 ? 1f)[0]
    }

person myrkul    schedule 20.06.2013    source источник
comment
Ваш код gaussianRandomVariate совершенно не связан с заданным вами вопросом, и его следует удалить, так как он отвлекает внимание.   -  person pjs    schedule 20.06.2013


Ответы (1)


В Q есть функция random, описанная здесь. Следуйте инструкциям, чтобы получить форму в диапазоне [0,1], назовите ее u. Тогда (b-a)*u + a равномерна в диапазоне [a,b].

person pjs    schedule 20.06.2013
comment
Привет, спасибо за помощь, у меня есть еще один вопрос. В документации, которую вы мне присылаете, написано: ... есть функция random без параметров, которая возвращает 32-битное псевдослучайное целое число в диапазоне 0..2^32-1. Чтобы получить случайное 32-битное значение с плавающей запятой в диапазоне [0,1], вы просто делите random на 0xffffffff. Таким образом, реализация должна выглядеть так: random[] % 0xffffffff; к сожалению, мой интерпретатор говорит, что функция random не существует... - person myrkul; 20.06.2013
comment
Не q-программист, но пробовали ли вы random % 0xffffffff без квадратных скобок? Глядя на документы, я вижу множество примеров вызова функций без скобок. - person pjs; 20.06.2013
comment
Да, я просто пытаюсь выучить это, и да, я пробовал без скобок, и у меня все еще та же ошибка. Я также не могу использовать функцию seed, но другие функции работают отлично. - person myrkul; 20.06.2013
comment
Тогда не могу вам помочь, так как это якобы встроенная функция. Есть ли на сайте гуру q, которого вы можете спросить? - person pjs; 20.06.2013
comment
Только что нашел пример, который может вам помочь. Ищите случайные примерно 2/3 пути вниз по странице. - person pjs; 21.06.2013
comment
У меня все та же ошибка с функцией random, но я выбираю свою функцию uniformRandomVariate, а затем реализую ваше решение, кажется, оно работает ^^ - person myrkul; 21.06.2013