splitapply — Split data into groups and apply a function.

Y = splitapply(func,X,G) splits rows of X by the group vector G and invokes func once per nonmissing group.

Syntax

varargout = groupingBuiltin(args...)

Inputs

NameTypeRequiredDefaultDescription
argsAnyVariadicMATLAB-compatible arguments.

Returns

NameTypeDescription
varargoutAnyBuiltin outputs.

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

Errors

IdentifierWhenMessage
RunMat:grouping:InvalidInputInputs are malformed, have incompatible lengths, or request unsupported grouped output.grouping builtin: invalid input
RunMat:grouping:CallbackFailedA grouped callback fails or returns incompatible outputs.grouping builtin: callback failed
RunMat:grouping:TooLargeThe requested dense or combinatorial output exceeds RunMat's materialization limit.grouping builtin: output is too large

How splitapply works

  • Supports one or more data arguments followed by a grouping vector.
  • Callbacks are invoked through RunMat's feval path and may return numeric scalar or nonuniform values.

Example

Sum by group

Y = splitapply(@sum,[1;2;3;4],[2;1;2;1])

Expected output:

Y = [6; 4]

Using splitapply with coding agents

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

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

Shape

blkdiag · cat · circshift · diag · flip · fliplr · flipud · horzcat · ipermute · kron · permute · repelem · repmat · reshape · rot90 · squeeze · toeplitz · tril · triu · vertcat

Creation

colon · eye · false · fill · full · inf · linspace · logspace · magic · meshgrid · nan · nchoosek · ndgrid · nonzeros · ones · peaks · perms · rand · randi · randn · randperm · range · sparse · spdiags · speye · spones · sprand · true · zeros

Indexing

find · ind2sub · sub2ind

Introspection

iscolumn · isempty · ismatrix · isrow · isscalar · isvector · length · ndims · numel · size

Open-source implementation

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