erf — Compute error-function values element-wise in MATLAB and RunMat.

Y = erf(X) evaluates the Gaussian error function element-by-element for real numeric input. RunMat follows MATLAB's documented real, nonsparse surface and keeps real GPU tensors resident when the active provider supports unary_erf.

Syntax

Y = erf(X)

Inputs

NameTypeRequiredDefaultDescription
XAnyYesReal numeric input.

Returns

NameTypeDescription
YNumericArrayElementwise error-function result.

Errors

IdentifierWhenMessage
RunMat:erf:InvalidInputInput cannot be interpreted as a real, nonsparse numeric array.erf: invalid input
RunMat:erf:InternalInternal tensor construction or provider interaction failed.erf: internal error

How erf works

  • erf(X) applies the error function element-by-element while preserving the input tensor shape.
  • Double inputs return double results; single tensors preserve single dtype metadata with single-rounded output values.
  • Scalar integer, logical, and character inputs are promoted through RunMat's ordinary numeric coercion path for compatibility with existing elementwise builtins.
  • Complex, string, and sparse inputs produce stable RunMat:erf:InvalidInput errors.
  • Real GPU tensors stay on device when the provider implements unary_erf; otherwise RunMat gathers the tensor, evaluates on the host, and returns a host value with the computed results.

GPU memory and residency

Yes when the active provider implements unary_erf for real-valued gpuArray inputs. Providers without that hook trigger a host fallback, so the computed result is returned as a host tensor rather than a resident gpuArray.

Examples

Calculate the error function of a scalar

y = erf(1)

Expected output:

y = 0.8427

Apply erf to every element of a vector

x = [-0.5 0 1 3];
y = erf(x)

Expected output:

y = [-0.5205 0 0.8427 1.0000]

Evaluate a matrix element-wise

A = [0.29 -0.11; 3.1 -2.9];
B = erf(A)

Expected output:

B = [0.3183 -0.1236; 1.0000 -1.0000]

Use erf when computing a normal CDF

x = -3:0.1:3;
y = 0.5*(1 + erf(x/sqrt(2)));

Expected output:

y = 1x61 double

Run erf on GPU data

G = gpuArray([-1 0 1]);
out = erf(G);
result = gather(out)

Expected output:

result = [-0.8427 0 0.8427]

Using erf with coding agents

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

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

FAQ

Does erf support complex inputs?

No. MATLAB documents erf for real single and double arrays, and RunMat reports a typed input error for complex values instead of applying a non-MATLAB analytic continuation.

Why use erfc instead of 1 - erf(x)?

For large positive x, erf(x) is very close to 1. A complementary error function can preserve the small residual more accurately than subtracting from 1.

Can erf run on GPU arrays?

Yes for real tensors. The WGPU backend evaluates erf on device; other providers may fall back to the host if they do not expose unary_erf.

Elementwise

abs · angle · bsxfun · complex · conj · double · 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

Symbolic

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

Fft

fft · fft2 · fftshift · ifft · ifft2 · ifftshift

Discrete

lcm · primes

Ode

ode15s · ode23 · ode45

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.