bounds — Return smallest and largest elements in MATLAB and RunMat.
bounds(A) returns the smallest and largest values from each slice of A along the first non-singleton dimension.
Syntax
[S, L] = bounds(A)
[S, L] = bounds(A, dim)
[S, L] = bounds(A, vecdim)
[S, L] = bounds(A, nanflag)
[S, L] = bounds(A, dim, nanflag)Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
A | Any | Yes | — | Input array. |
dim | Any | No | — | Dimension selector, vector of dimensions, or "all". |
nanflag | StringScalar | No | "includenan" | NaN handling mode: "includenan" or "omitnan". |
Returns
| Name | Type | Description |
|---|---|---|
S | NumericArray | Smallest values. |
L | NumericArray | Largest values. |
Returned values from bounds depend on how many outputs the caller requests.
Errors
| Identifier | When | Message |
|---|---|---|
RunMat:bounds:InvalidArgument | Dimension selectors, nanflags, or argument ordering are invalid. | bounds: invalid argument |
RunMat:bounds:Internal | Min/max evaluation fails internally. | bounds: internal failure |
How bounds works
[S,L] = bounds(A)returns the same values asmin(A)andmax(A)using the default dimension.bounds(A,dim)andbounds(A,vecdim)reduce along explicit dimensions.bounds(A,'all')reduces all elements and returns scalar lower and upper bounds.boundsomits NaN values by default, matching MATLAB. Pass'includenan'to propagate NaN values consistently withminandmax.- Logical, integer, real, complex, scalar, vector, matrix, N-D, and GPU tensor inputs follow the behavior of the underlying
minandmaxbuiltins.
Examples
Column-wise bounds
A = [3 4; 1 2];
[S,L] = bounds(A)Expected output:
S = [1 2]
L = [3 4]Bounds across all elements while ignoring NaN by default
A = [NaN 3; -1 5];
[S,L] = bounds(A,'all')Expected output:
S = -1
L = 5Using bounds with coding agents
Open a RunMat example with live inputs, then ask the agent to explain how bounds changes the result.
Run a small bounds example, explain the result, then change one input and compare the output.
FAQ
How many outputs does bounds return?⌄
It returns two outputs: the smallest values and the largest values. RunMat pads additional requested outputs with zero, matching the runtime's multi-output convention.
Does bounds have separate GPU kernels?⌄
No. It composes min and max, so it inherits their GPU support and host fallback behavior.
Related Math functions
Reduction
all · any · cummax · cummin · cumprod · cumsum · cumtrapz · diff · gradient · max · maxk · mean · median · min · mink · movmax · movmean · movmedian · movmin · movprod · movstd · movsum · movvar · nnz · prod · rms · std · sum · trapz · var
Elementwise
abs · angle · bsxfun · complex · conj · double · erf · erfcinv · exp · expm1 · factorial · flintmax · gamma · gammaln · heaviside · hypot · idivide · imag · intmax · intmin · ldivide · log · log10 · log1p · log2 · minus · nextpow2 · plus · pow2 · power · rdivide · real · realmax · realmin · realsqrt · rescale · sign · single · sqrt · swapbytes · times · uint32
Trigonometry
acos · acosh · asin · asinh · atan · atan2 · atanh · cos · cosd · cosh · cospi · deg2rad · pol2cart · rad2deg · sin · sind · sinh · sinpi · tan · tand · tanh
Structure
bandwidth · isdiag · ishermitian · issymmetric · istril · istriu · symrcm
Signal
blackman · butter · buttord · cheb2ord · conv · conv2 · deconv · downsample · envelope · filter · filtfilt · fir1 · freqz · gauspuls · hamming · hann · hilbert · periodogram · pulstran · pwelch · rectpuls · resample · sawtooth · sinc · spectrogram · square · tripuls · unwrap · upsample · zplane
Optim
coneprog · fminbnd · fminunc · fsolve · fzero · integral · linprog · lsqcurvefit · lsqnonlin · optimset · quad · secondordercone
Ops
cross · ctranspose · dot · mldivide · mpower · mrdivide · mtimes · pagemtimes · pagetranspose · trace · transpose
Open-source implementation
Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how bounds is executed, line by line, in Rust.
- View the source for bounds 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.