lhsdesign — Generate Latin hypercube sample designs.

lhsdesign(n,p) returns an n-by-p Latin hypercube design with one sample in each stratum of every column.

Syntax

X = lhsdesign(n, p)
X = lhsdesign(n, p, Name, Value)

Inputs

NameTypeRequiredDefaultDescription
nIntegerScalarYesNumber of sample points.
pIntegerScalarYesNumber of variables.
optionsAnyVariadicName-value options such as Smooth, Criterion, and Iterations.

Returns

NameTypeDescription
XNumericArrayN-by-P Latin hypercube design.

Errors

IdentifierWhenMessage
RunMat:lhsdesign:InvalidArgumentSample counts, dimensions, criteria, or name-value options are malformed.lhsdesign: invalid argument
RunMat:lhsdesign:InternalInternal random generation or tensor allocation fails.lhsdesign: internal operation failed

How lhsdesign works

  • n and p must be positive integer scalars.
  • "Smooth","on" jitters points uniformly within each stratum. "Smooth","off" places points at stratum midpoints.
  • "Criterion" supports "maximin", "correlation", and "none"; the correlation criterion uses midpoint strata, matching MATLAB's discrete correlation-optimized design behavior.
  • "Iterations",k generates multiple candidate designs for optimized criteria and keeps the best scored candidate.
  • The result uses column-major n-by-p shape and values in the open interval (0,1).

Examples

Default maximin design

X = lhsdesign(20, 4)

Midpoint design with correlation criterion

X = lhsdesign(12, 3, "Smooth", "off", "Criterion", "correlation", "Iterations", 20)

Using lhsdesign with coding agents

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

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

FAQ

Does lhsdesign use RunMat's rng state?

Yes. It consumes values from the same global random stream as rand, datasample, and randsample.

Open-source implementation

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