randsample

Случайная выборка

Описание

пример

y = randsample(n,k) возвращает k значения, дискретизированные равномерно случайным образом, без замены, из целых чисел 1 на n.

пример

y = randsample(population,k) возвращает вектор k значения, дискретизированные равномерно случайным образом, без замены, из значений в векторе population.

пример

y = randsample(___,replacement) возвращает выборку, взятую с заменой, если replacement является true, или без замены, если replacement является false. Задайте replacement следуя любой комбинации входных аргументов в предыдущих синтаксисах.

y = randsample(n,k,true,w) использует вектор неотрицательных весов, w, чья длина n, чтобы определить вероятность того, что целое число i выбран в качестве записи для y.

пример

y = randsample(population,k,true,w) использует вектор неотрицательных весов, w, той же длины, что и вектор population, чтобы определить вероятность того, что значение population(i) выбран в качестве записи для y.

пример

y = randsample(s,___) использует поток s для генерации случайных чисел. Опция s может предшествовать любому из входных параметров в предыдущих синтаксисах. s является представителем RandStream класс.

Примеры

свернуть все

Нарисуйте одно значение из целых чисел 1 через 10.

n = 10;
x = randsample(n,1)
x = 9

Создайте случайный seed для воспроизводимости результатов.

s = RandStream('mlfg6331_64'); 

Нарисуйте одно значение из вектора [10:20].

population = 10:20;
y = randsample(s,population,1)
y = 17

Создайте поток случайных чисел для повторяемости.

s = RandStream('mlfg6331_64');

Выберите 48 символов случайным образом и с заменой из последовательности ACGT, согласно заданным вероятностям.

R = randsample(s,'ACGT',48,true,[0.15 0.35 0.35 0.15])
R = 
'GGCGGCGCAAGGCGCCGGACCTGGCTGCACGCCGTTCCCTGCTACTCG'

Создайте поток случайных чисел для повторяемости.

s = RandStream('mlfg6331_64'); 

Нарисуйте пять значений с заменой из целых чисел 1:10.

y = randsample(s,10,5,true)
y = 5×1

     7
     8
     5
     7
     8

Входные параметры

свернуть все

Верхний предел области значений (1 на n) из которого в выборку, заданную в виде положительного целого числа. По умолчанию, randsample дискретизирует равномерно случайным образом, без замены, из значений в области значений 1 на n.

Типы данных: single | double

Входные данные, из которых будет выполнена выборка, заданные как вектор. По умолчанию, randsample дискретизирует равномерно случайным образом, без замены, из значений в population. Ориентация y (строка или столбец) совпадает с строкой population.

Если population - числовой вектор, содержащий только неотрицательные целочисленные значения и population может иметь длину 1, затем используйте y = population(randsample(length(population),k)) вместо y = randsample(population,k).

Пример: y = randsample([50:100],20) возвращает вектор 20 значения, дискретизированные равномерно случайным образом, без замены, из population вектор, состоящий из целых чисел от 50 на 100.

Типы данных: single | double | logical | char | string | categorical

Количество выборок, заданное в виде положительного целого числа.

Пример: randsample(20,10) возвращает вектор 10 значения, дискретизированные равномерно случайным образом, без замены, из целых чисел 1 на 20.

Типы данных: single | double

Индикатор для отбора проб с заменой, указанный как false или true.

Пример: randsample(10,2,true) возвращает два значения с заменой из целых чисел 1 на 10.

Типы данных: logical

Веса дискретизации, заданные как вектор неотрицательных скалярных значений. Длина w должно быть равно области значений целых чисел для выборки или длине population. Векторная w должно иметь по крайней мере одно положительное значение. Если w содержит отрицательные значения или NaN значения, randsample отображает сообщение об ошибке. The randsample выборки функций с вероятностью, пропорциональной w(i)/sum(w). Обычно w является вектором вероятностей. The randsample функция поддерживает определение весов только для дискретизации с заменой.

Пример: [0.1 0.5 0.35 0.46]

Типы данных: single | double

Поток случайных чисел, заданный как поток случайных чисел по умолчанию MATLAB или RandStream. Для получения дополнительной информации смотрите Создание и управление потоком случайных чисел.

Пример: s = RandStream('mlfg6331_64') создает поток случайных чисел, который использует мультипликативный алгоритм генератора Фибоначчи с отставанием.

Выходные аргументы

свернуть все

Выборка, возвращенная в виде вектора или скаляра.

  • Если k = 1, затем y является скаляром.

  • Если k > 1, затем y является вектором k -by-1.

Совет

Чтобы дискретизировать данные случайным образом, с заменой или без, используйте datasample.

Расширенные возможности

.

См. также

| | |

Представлено до R2006a