Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Генерация случайных чисел
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Математика и Физика
DDA
Вопросец такой. Как можно на компе генерить случайные числа с наперёд заданной плотностью распределения (не нормальная, не равномерная)
jorikdima
Использовать МАТЛАБ, Statistiic Toolbox
gab
Цитата(jorikdima @ Oct 5 2006, 12:01) *
Использовать МАТЛАБ, Statistiic Toolbox

...или справку от Matlab. Если скорость нужна побольше.
vladv
Цитата(DDA @ Oct 5 2006, 11:33) *
Вопросец такой. Как можно на компе генерить случайные числа с наперёд заданной плотностью распределения (не нормальная, не равномерная)


Если есть генератор с равномерным распределением в диапазоне [0,1], то генератор с заданной
плотностью p(x), можно сделать с помощью функции F-1(x), которая является обратной функцией
интегрального распределения для заданной плотности (F(X)=P(x<X)): rand_p() = F-1(rand()).

Например, для распределения с "линейной" плотностью на отрезке x=[0,1]:
p(x) = 2*x
То, интегральная функция распределения будет:
F(X) = P(x<X) = X^2
Обратная функция для F(X) будет:
F-1(x) = x^(1/2)
Генератор:
rand()^(1/2)

Правда, вывести формулу аналитически можно далеко не для всех функций smile.gif.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.