# randsample

Random sample

## Syntax

```y = randsample(n,k)y = randsample(population,k)y = randsample(n,k,replacement)y = randsample(population,k,replacement)y = randsample(n,k,true,w)y = randsample(population,k,true,w)y = randsample(s,...)```

## Description

`y = randsample(n,k)` returns a `k`-by-`1` vector `y` of values sampled uniformly at random, without replacement, from the integers 1 to `n`.

`y = randsample(population,k)` returns a vector of `k` values sampled uniformly at random, without replacement, from the values in the vector `population`. The orientation of `y` (row or column) is the same as `population`.

`y = randsample(n,k,replacement)` or ```y = randsample(population,k,replacement)``` returns a sample taken with replacement if `replacement` is `true`, or without replacement if `replacement` is `false`. The default is `false`.

`y = randsample(n,k,true,w)` or ```y = randsample(population,k,true,w)``` returns a weighted sample taken with replacement, using a vector of positive weights `w`, whose length is `n`. The probability that the integer `i` is selected for an entry of `y` is `w(i)/sum(w)`. Usually, `w` is a vector of probabilities. `randsample` does not support weighted sampling without replacement.

`y = randsample(s,...)` uses the stream `s` for random number generation. `s` is a member of the `RandStream` class. Default is the MATLAB® default random number stream.

## Examples

Draw a single value from the integers `1` through `10`:

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

Draw a single value from the population `1` through `n`, where `n > 1`:

`y = randsample(1:n,1);`
 Note:   If `population` is a numeric vector containing only nonnegative integer values, and `population` can have length `1`, use`y = population(randsample(length(population),k))`instead of `y = randsample(population,k)`.

Generate a random sequence of the characters `A`, `C`, `G`, and `T`, with replacement, according to the specified probabilities.

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

expand all