RunMat
  • Pricing
RunMat
GitHub
GitHub
DownloadSign InTry in Browser
DesktopRuntimeServer
RunMat

Run math blazing fast

GitHubX (Twitter)LinkedIn

Company

  • About
  • Pricing
  • Contact

Explore

  • RunMat for academia
  • RunMat vs MATLAB Online
  • Benchmarks

Get product updates and release notes from the RunMat team.

© 2026 Dystr · Made withfor the scientific community.

RunMat™ is a registered trademark of Dystr, Inc. MATLAB® is a registered trademark of The MathWorks, Inc. RunMat is not affiliated with, endorsed by, or sponsored by The MathWorks, Inc.

LicensePrivacy
/
See all docs
Builtin Reference
    • binornd
    • bootstrp
    • datasample
    • dividerand
    • exprnd
    • gamrnd
    • lhsdesign
    • mvnrnd
    • normrnd
    • random
    • randsample
    • rng
    • trnd
    • unidrnd
    • unifrnd
    • wblrnd

dividerand — Divide target indices randomly into training, validation, and test sets.

dividerand(Q,trainRatio,valRatio,testRatio) randomly permutes the one-based target indices 1:Q and divides them into training, validation, and test row vectors. dividerand(Q) uses the documented default ratios 0.7, 0.15, and 0.15.

Syntax

[trainInd, valInd, testInd] = dividerand(Q)
[trainInd, valInd, testInd] = dividerand(Q, trainRatio, valRatio, testRatio)

Inputs

NameTypeRequiredDefaultDescription
QIntegerScalarYes—Number of targets to divide.
trainRatioNumericScalarNo0.7Training-set allocation ratio.
valRatioNumericScalarNo0.15Validation-set allocation ratio.
testRatioNumericScalarNo0.15Test-set allocation ratio.

Returns

NameTypeDescription
trainIndNumericArrayOne-based training-set indices.
valIndNumericArrayOne-based validation-set indices.
testIndNumericArrayOne-based test-set indices.

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

Errors

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

How dividerand works

  • Q must be a nonnegative integer scalar. All eight typed integer scalar classes are decoded exactly before allocation.
  • Q is capped at 10,000,000 so index partitions fail cleanly before excessive host allocation.
  • Ratios must be finite nonnegative scalar values, and at least one ratio must be positive.
  • RunMat normalizes ratios and uses largest remainders for allocation. The public documentation does not specify this tie-breaking algorithm.
  • Returned indices are one-based row vectors and together form a random permutation of 1:Q.
  • Empty partitions are returned as 1-by-0 double tensors.
  • MathWorks marks dividerand for removal in the compatibility target; RunMat retains it for backward compatibility.

Examples

Default split

[trainInd,valInd,testInd] = dividerand(100)

Explicit split ratios

[trainInd,valInd,testInd] = dividerand(3000, 0.6, 0.2, 0.2)

Using dividerand with coding agents

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

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

FAQ

Does dividerand respect rng?⌄

Yes. The random permutation is drawn from RunMat's global random generator, so rng('default') and numeric seeds make results reproducible.

Related Stats functions

Random

binornd · bootstrp · datasample · exprnd · gamrnd · lhsdesign · 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

histc · histcounts · histcounts2

Options

statget · statset

Open-source implementation

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

  • View the source for dividerand 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.

Getting started · Benchmarks · Pricing

Download RunMat

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

Download RunMatOpen Sandbox
On this page
  • Syntax
  • Inputs
  • Returns
  • Errors
  • How dividerand works
  • Examples
  • Default split
  • Explicit split ratios
  • Using dividerand with coding agents
  • FAQ
  • Related Stats functions
  • Random
  • Ml
  • Summary
  • Hist
  • Options
  • Open-source implementation
  • About RunMat