datasample — Randomly sample from data with or without replacement.

datasample(data,k) samples k observations from data. datasample(data,k,dim) samples along a selected dimension. [y,idx] = datasample(...) also returns one-based sampled indices.

Syntax

y = datasample(data, k)
y = datasample(data, k, dim)
y = datasample(___, Name, Value)
[y, idx] = datasample(___)

Inputs

NameTypeRequiredDefaultDescription
dataAnyYesPopulation to sample from.
kAnyYesNumber of samples.
optionsAnyVariadicDimension, replacement, and weights options.

Returns

NameTypeDescription
yAnyRandom sample.
idxNumericArrayOne-based sampled indices along the sampled dimension.

Returned values from datasample depend on how many outputs the caller requests.

Errors

IdentifierWhenMessage
RunMat:datasample:InvalidArgumentInputs, dimensions, replacement flags, or weights are malformed.sampling: invalid argument
RunMat:datasample:InternalInternal conversion or allocation fails.sampling: internal error

How datasample works

  • Samples with replacement by default.
  • "Replace",false samples without replacement and requires k to be no larger than the sampled dimension.
  • "Weights",w samples proportionally to nonnegative weights with at least one positive value.
  • Numeric, logical, string, and char arrays are supported.
  • The default sampled dimension is the first nonsingleton dimension.

Examples

Sample rows

Y = datasample(X, 5)

Sample columns without replacement

Y = datasample(X, 3, 2, "Replace", false)

Return sampled indices

[Y,idx] = datasample(X, 10)

Using datasample with coding agents

Open a RunMat example with live inputs, then ask the agent to explain how datasample changes the result.

Run a small datasample example, explain the result, then change one input and compare the output.

FAQ

Does datasample change RNG state?

Yes. It uses RunMat's global random stream, like other random builtins.

Open-source implementation

Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how datasample is executed, line by line, in Rust.

About RunMat

RunMat is an open-source runtime that executes MATLAB-syntax code blazing on any GPU. It is licensed under the Apache 2.0 license.

  • RunMat automatically optimizes your math for GPU execution on Apple, Nvidia, and AMD hardware. No code changes needed. Simulations that took hours now take minutes.
  • Start running code in seconds. RunMat runs in the browser, on the desktop, or from the CLI. No license server, no IT ticket.

Getting started · Benchmarks · Pricing

Download RunMat

Download RunMat for full performance, or use RunMat in your browser for zero setup.