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
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
n | IntegerScalar | Yes | — | Number of sample points. |
p | IntegerScalar | Yes | — | Number of variables. |
options | Any | Variadic | — | Name-value options such as Smooth, Criterion, and Iterations. |
Returns
| Name | Type | Description |
|---|---|---|
X | NumericArray | N-by-P Latin hypercube design. |
Errors
| Identifier | When | Message |
|---|---|---|
RunMat:lhsdesign:InvalidArgument | Sample counts, dimensions, criteria, or name-value options are malformed. | lhsdesign: invalid argument |
RunMat:lhsdesign:Internal | Internal random generation or tensor allocation fails. | lhsdesign: internal operation failed |
How lhsdesign works
nandpmust 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",kgenerates multiple candidate designs for optimized criteria and keeps the best scored candidate.- The result uses column-major
n-by-pshape 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.
Related Stats functions
Random
binornd · bootstrp · datasample · dividerand · exprnd · gamrnd · mvnrnd · normrnd · random · randsample · rng · trnd · unidrnd · unifrnd · wblrnd
Ml
bayesopt · classify · confusionmat · crossvalind · cvpartition · fitclinear · fitctree · fitlm · kmeans · knnsearch · lasso · lassoglm · linkage · lscov · mnrfit · optimizableVariable · pdist · pdist2 · perfcurve · predict · regress · ridge · squareform · test · training · tsne
Summary
binocdf · boxplot · cdf · cdfplot · chi2cdf · corr · corrcoef · corrcov · cov · cov2corr · dummyvar · ecdf · filloutliers · fitdist · geomean · grpstats · harmmean · icdf · isoutlier · kstest · kurtosis · lsline · mad · mode · nanmax · normalize · normcdf · norminv · normpdf · onehotdecode · onehotencode · pdf · prctile · quantile · refline · rmse · skewness · tabulate · tcdf · tiedrank · tinv · tpdf · ttest2 · wblinv
Hist
Open-source implementation
Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how lhsdesign is executed, line by line, in Rust.
- View the source for lhsdesign in Rust on GitHub
- Learn how the RunMat runtime works
- Found a bug? Open an issue with a minimal reproduction.
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.