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:InvalidInputdiagnostic.
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.
Related Math functions
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
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 piecewise is executed, line by line, in Rust.
- View the source for piecewise 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.