random — Generate random samples from a fitted or named probability distribution.

random(pd) and random(pd,sz...) generate random samples from a ProbabilityDistribution object returned by fitdist. random(distname,params...,sz...) samples supported named distributions directly.

Syntax

r = random(pd)
r = random(pd, sz)
r = random(distname, params, sz)

Inputs

NameTypeRequiredDefaultDescription
pdAnyYesProbabilityDistribution object returned by fitdist.
szAnyVariadicOutput size.
distnameStringScalarYesDistribution name.
NameValueAnyVariadicName-value options.

Returns

NameTypeDescription
rNumericArrayRandom samples.

Errors

IdentifierWhenMessage
RunMat:fitdist:InvalidArgumentSample data, distribution name, options, or evaluation inputs are malformed.fitdist: invalid argument
RunMat:fitdist:NumericalDistribution parameter estimation fails to converge or is ill-conditioned.fitdist: numerical failure
RunMat:fitdist:InternalRunMat cannot construct distribution outputs.fitdist: internal error

How random works

  • pd must be a fitted distribution object returned by fitdist, or distname must name a supported distribution.
  • random(pd) returns one scalar sample.
  • random(pd,m,n,...) returns an array with the requested size. A vector size argument such as [m n] is also accepted.
  • Named normal, exponential, lognormal, gamma, Weibull, and Poisson distributions are supported with scalar parameters followed by optional size arguments.
  • Normal, exponential, lognormal, gamma, Weibull, and Poisson fitted distributions are supported.

Examples

Draw a matrix of samples

pd = fitdist([1;2;3], "Normal"); r = random(pd, 2, 3)

Draw from a named Weibull distribution

r = random("Weibull", 2, 3, 4, 5)

Using random with coding agents

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

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

FAQ

Does random support named distribution parameters?

Yes for normal, exponential, lognormal, gamma, Weibull, and Poisson with scalar parameters. Distribution-specific random helpers such as normrnd remain available separately.

Open-source implementation

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