piecewise — Construct a scalar symbolic piecewise expression.

piecewise currently materializes scalar symbolic condition/value arguments as a symbolic function expression. It is intended for workflows that start with syms and need to preserve symbolic expressions for later symbolic operations.

Syntax

piecewise(lt(abs(t), 2), 1, gt(abs(t), 2), 0)

How piecewise works

  • Accepts symbolic arguments and scalar numeric, integer, or logical constants.
  • Returns a scalar symbolic expression such as piecewise(lt(abs(t), 2), 1, gt(abs(t), 2), 0).
  • Does not yet evaluate symbolic conditions or simplify branches.
  • Rejects non-scalar arrays and unsupported argument types with a RunMat:piecewise:InvalidInput diagnostic.

Example

Construct a symbolic piecewise expression

syms t
f = piecewise(abs(t)<2, 1, abs(t)>2, 0)

Using piecewise with coding agents

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

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

FAQ

Does piecewise implement full Symbolic Math Toolbox simplification?

No. It preserves scalar symbolic piecewise expressions so scripts can continue past declaration and expression-construction steps.

Symbolic

digits · int · limit · sym · syms · vpa

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

Reduction

all · any · bounds · 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

Rounding

ceil · fix · floor · mod · rem · round

Factor

chol · decomposition · eig · eigs · lu · qr · svd

Solve

cond · det · inv · linsolve · norm · null · pinv · rank · rcond · rref · vecnorm

Fft

fft · fft2 · fftshift · ifft · ifft2 · ifftshift

Discrete

lcm · primes

Ode

ode15s · ode23 · ode45

Open-source implementation

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