stats
::finiteRandom
Сгенерируйте случайный генератор для элементов конечного выборочного пространства
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.
stats::finiteRandom([x1, x2, …], [p1, p2, …]
, <Seed = n
>) stats::finiteRandom([[x1, p1], [x2, p2], …]
, <Seed = n
>) stats::finiteRandom(n
, <c1, c2
>, <Seed = n
>) stats::finiteRandom(n
, <[c1, c2]
>, <Seed = n
>)
stats::finiteRandom([x1, x2, …, xn], [p1, p2, …, pn])
возвращает процедуру, которая выбирает случайные элементы из данных x1, x2
и т.д. Возможностям выбирания элементов дают вероятности p1, p2
и т.д.
Процедура f := stats::finiteRandom([x1, x2, …], [p1, p2, …])
может быть назван в форме f()
. Вызов f()
возвращает один из элементов данных x1, x2, …
.
Значения X = f()
распределяются случайным образом согласно функции дискретного распределения выборочного пространства, т.е. вероятность X ≤ x дана stats::finiteCDF([x1, x2, …], [p1, p2, …])(x)
.
Все значения вероятности p1, p2, …
должно быть конвертируемым к числам с плавающей запятой. Они должны составить в целом 1.
Без опции Seed
= n
, начальный seed выбран внутренне. Этот начальный seed установлен в значение по умолчанию, когда MuPAD® запускается. Таким образом каждый раз MuPAD запускается или повторно инициализируется с reset
функция, случайные генераторы производят те же последовательности чисел.
В отличие от функционального random
, генераторы производятся stats::finiteRandom
не реагируйте на переменную окружения SEED
.
Для КПД рекомендуется произвести последовательности случайных чисел K через
f := stats::finiteRandom([x1, x2, …], [p1, p2, …])
:
f() $k = 1..K;
вместо
stats::finiteRandom([x_1, x_2, dots], [p_1, p_2, dots])() $k = 1..K;
Последний вызов производит последовательность генераторов, каждый из которых называется однажды. Также отметьте это
stats::finiteRandom([x_1, x_2, dots], [p_1, p_2, dots], Seed = s)() $k = 1..K;
не производит случайную последовательность, потому что последовательность недавно инициализированных генераторов была бы создана каждый из них производящий тот же номер.
stats::finiteRandom
обобщает stats::empiricalRandom
, который принимает равновероятные данные. Для числовых данных x1, x2, …
, вызов stats::finiteRandom([x_1, dots, x_n], [1/n, dots, 1/n])
соответствует stats::empiricalRandom([x1, …, xn])
.
Мы выбираем случайные элементы некоторых данных:
f := stats::finiteRandom([1, x, y, PI], [1/4, 3/8, 1/4, 1/8], Seed = 234): f(), f(), f(), f(), f(), f(), f(), f(), f()
В качестве альтернативы данные могут быть переданы как список:
f := stats::finiteRandom([[1, 1/4], [x, 3/8], [y, 1/4], [PI, 1/8]], Seed = 234): f(), f(), f(), f(), f(), f(), f(), f(), f()
delete f:
Мы создаем выборку типа stats::sample
состоя из одного столбца строки и двух столбцов нестроки:
s := stats::sample( [["1996", 1242, 2/5], ["1997", 1353, 0.1], ["1998", 1142, 0.2], ["1999", 1201, 0.2], ["2001", 1201, 0.1]])
"1996" 1242 2/5 "1997" 1353 0.1 "1998" 1142 0.2 "1999" 1201 0.2 "2001" 1201 0.1
Мы выбираем случайные значения с помощью данных в первом и третьем столбце:
f := stats::finiteRandom(s, 1, 3, Seed = 123): f(), f(), f(), f(), f(), f(), f()
delete s, f:
Мы бросаем загруженную монету:
f:= stats::finiteRandom([Head, Tail], [0.4, 0.6], Seed = 123): f(), f(), f(), f(), f(), f(), f(), f(), f(), f()
Мы бросаем монету 10000 раз и считаем количество Голов и Хвостов:
t := [f() $ k = 1..10^4]: NumberOfHeads = nops(select(t, _equal, Head)), NumberOfTails = nops(select(t, _equal, Tail))
delete f, t:
Значения вероятности должны составить в целом 1:
stats::finiteRandom([Head, TAIL], [0.45, 0.54]):
Error: Probabilities do not add up to 1. [stats::finiteRandom]
|
Статистические данные: произвольные объекты MuPAD |
|
Значения вероятности: действительные численные значения |
|
Выборка доменного типа |
|
Индексы столбца демонстрационного |
|
Опция, заданная как Инициализирует случайный генератор с целочисленным seed Эта опция служит для генерации генераторов, которые возвращают предсказуемые последовательности псевдослучайных значений. Генератор инициализируется с seed |
Случайные значения выбраны путем применения функции квантиля к равномерно распределенным случайным числам между 0 и 1.