bootstrp — Bootstrap samples and evaluate a statistic.

bootstrp(nboot,bootfun,d) draws nboot bootstrap samples with replacement from d and applies bootfun to each sample. bootstrp(nboot,bootfun,d1,...,dN) resamples rows jointly across nonscalar data arguments while scalar arguments are passed through unchanged. [bootstat,bootsam] = bootstrp(...) also returns one-based bootstrap sample indices.

Syntax

bootstat = bootstrp(nboot, bootfun, d)
bootstat = bootstrp(nboot, bootfun, d1, ..., dN)
[bootstat, bootsam] = bootstrp(___)

Inputs

NameTypeRequiredDefaultDescription
nbootIntegerScalarYesNumber of bootstrap samples.
bootfunAnyYesFunction handle applied to each bootstrap sample.
dataAnyVariadicData arrays and name-value options.

Returns

NameTypeDescription
bootstatNumericArrayBootstrap statistics, one bootstrap replicate per row.
bootsamNumericArrayOne-based bootstrap sample indices.

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

Errors

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

How bootstrp works

  • Each row of bootstat contains one bootstrap replicate. Nonscalar bootfun outputs are flattened into one row per replicate.
  • A single vector input is sampled along its first nonsingleton dimension; multiple nonscalar inputs are sampled by rows and must have matching row counts.
  • bootfun can be a function handle, string function name, or empty array. Empty bootfun skips callback evaluation and returns an empty bootstat with bootsam available as the second output.
  • "Weights",w samples rows proportionally to nonnegative weights with at least one positive value.
  • "Options",opts accepts a statset-style options struct for compatibility. Parallel execution options are accepted but currently evaluated serially.
  • Numeric, logical, string, char, and cell data arrays are supported for sampling; bootfun must return numeric or logical values.

Examples

Bootstrap a mean

b = bootstrp(1000, @mean, x)

Return sample indices

[b,bootsam] = bootstrp(200, @median, x)

Bootstrap a two-input statistic

b = bootstrp(500, @corr, x, y)

Using bootstrp with coding agents

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

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

FAQ

Does bootstrp use the global random stream?

Yes. It uses RunMat's global random stream, like datasample and randsample.

Does bootstrp run callbacks in parallel?

No. RunMat accepts the Options name-value for MATLAB compatibility, but callback evaluation is currently serial.

Open-source implementation

Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how bootstrp 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.