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
    • 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

resample — Resample a signal by a rational factor with FIR antialiasing.

y = resample(x,p,q) changes the sample rate of x by the rational factor p/q. RunMat designs a Kaiser-windowed FIR antialiasing filter by default, compensates the filter delay, and operates along the first non-singleton dimension unless Dimension is specified.

Syntax

Y = resample(X, P, Q)
Y = resample(X, P, Q, N)
Y = resample(X, P, Q, N, BETA)
Y = resample(X, P, Q, B)
[Y, B] = resample(X, P, Q, ___)
[Y, B] = resample(X, P, Q, B, ___)

Inputs

NameTypeRequiredDefaultDescription
XAnyYes—Input signal array.
PNumericScalarYes—Positive integer upsampling factor.
QNumericScalarYes—Positive integer downsampling factor.
NNumericScalarNo10Half-length filter order factor.
BETANumericScalarNo5Kaiser window shape parameter.
BNumericArrayNo—FIR antialiasing filter coefficients.
BNumericArrayVariadic—FIR antialiasing filter coefficients.

Returns

NameTypeDescription
YNumericArrayResampled signal.
BNumericArrayFIR antialiasing filter coefficients used for resampling.

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

Errors

IdentifierWhenMessage
RunMat:sampleRate:ArgCountRequired arguments are missing or more than three inputs are provided.sample-rate builtin: expected X, N, and optional PHASE
RunMat:sampleRate:InvalidInputX is not numeric, logical, complex, or a gpuArray containing numeric values.sample-rate builtin: X must be numeric or logical
RunMat:sampleRate:InvalidFactorN is not a finite positive integer scalar.sample-rate builtin: N must be a positive integer scalar
RunMat:sampleRate:InvalidPhasePHASE is not an integer scalar in the range 0 <= PHASE < N.sample-rate builtin: PHASE must be an integer scalar with 0 <= PHASE < N
RunMat:sampleRate:GatherFailedA gpuArray input cannot be gathered for host sample-rate conversion.sample-rate builtin: failed to gather GPU input
RunMat:sampleRate:SizeOverflowThe requested output shape overflows host allocation limits.sample-rate builtin: requested output is too large
RunMat:sampleRate:BuildOutputOutput tensor construction fails.sample-rate builtin: failed to build output
RunMat:sampleRate:InvalidOptionA sample-rate conversion option, filter vector, or dimension selector is invalid.sample-rate builtin: invalid option
RunMat:sampleRate:OutputCountMore outputs are requested than the builtin supports.sample-rate builtin: too many output arguments

How resample works

  • Signal input X accepts documented single and double real or complex numeric arrays; native typed-integer signal storage is rejected before provider dispatch.
  • p and q must be finite positive integer scalars; the ratio is reduced before filter design and output sizing.
  • The output size along the operated dimension is ceil(size(x,dim) * p / q); all other dimensions are preserved.
  • resample(x,p,q,n) uses a Kaiser-windowed FIR filter with 2*n*max(p,q)+1 taps after ratio reduction.
  • resample(x,p,q,n,beta) uses beta as the Kaiser window shape parameter.
  • resample(x,p,q,b) uses a caller-supplied real FIR coefficient vector.
  • [y,b] = resample(...) returns the resampled signal and the FIR coefficients used.
  • Dimension, dim resamples along an explicit one-based dimension.
  • Typed-integer p, q, filter-length, Kaiser-beta, filter-vector, and dimension controls are RunMat extensions. They are decoded structurally or checked for exact double representability as their role requires, and MATLAB compatibility mode rejects them before gathering.
  • Timetable and nonuniform time-vector syntaxes are not implemented yet; use interp1/timetable-specific workflows before rational resampling when those forms are needed.

Examples

Upsample a row vector by a rational factor

x = 1:5;
y = resample(x, 3, 2)

Return the filter coefficients

[y,b] = resample(x, 4, 1, 8, 5)

Resample along columns

Y = resample(X, 2, 1, Dimension=2)

Using resample with coding agents

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

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

FAQ

Which dimension does resample use?⌄

By default RunMat follows MATLAB's first non-singleton dimension rule. Use the Dimension name-value option to select a specific dimension.

Can I provide my own antialiasing filter?⌄

Yes. Pass a real coefficient vector as the fourth argument, for example resample(x,p,q,b).

Does resample support nonuniform time vectors or timetables?⌄

Not yet. This implementation covers the uniform rational-rate signal forms and rejects unsupported time/timetable forms rather than returning a misleading result.

Related Math functions

Signal

blackman · butter · buttord · cheb2ord · conv · conv2 · deconv · downsample · envelope · filter · filtfilt · fir1 · freqz · gauspuls · hamming · hann · hilbert · periodogram · pulstran · pwelch · rectpuls · sawtooth · sinc · spectrogram · square · tripuls · unwrap · upsample · zplane

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 · typecast · uint16 · uint32 · uint8

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

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

Optim

coneprog · fminbnd · fminunc · fsolve · fzero · integral · linprog · lsqcurvefit · lsqnonlin · optimoptions · optimset · quad · secondordercone

Ops

cross · ctranspose · dot · mldivide · mpower · mrdivide · mtimes · pagemtimes · pagetranspose · trace · transpose

Symbolic

digits · int · limit · piecewise · sym · syms · vpa

Fft

fft · fft2 · fftn · fftshift · ifft · ifft2 · ifftn · ifftshift

Interpolation

griddedInterpolant · interp1 · interp1q · interp2 · pchip · ppval · spline

Discrete

lcm · primes

Ode

ode15s · ode23 · ode45

Poly

polyder · polyfit · polyint · polyval · roots

Open-source implementation

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

  • View the source for resample 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 resample works
  • Examples
  • Upsample a row vector by a rational factor
  • Return the filter coefficients
  • Resample along columns
  • Using resample with coding agents
  • FAQ
  • Related Math functions
  • Signal
  • Elementwise
  • Trigonometry
  • Reduction
  • Structure
  • Rounding
  • Factor
  • Solve
  • Optim
  • Ops
  • Symbolic
  • Fft
  • Interpolation
  • Discrete
  • Ode
  • Poly
  • Open-source implementation
  • About RunMat