gives a triangle wave that varies between and with unit period.


gives a triangle wave that varies between min and max with unit period.



open allclose all

Basic Examples  (3)

Evaluate numerically:

Plot over a subset of the reals:

TriangleWave is a piecewise function over finite domains:

Scope  (33)

Numerical Evaluation  (4)

Evaluate numerically:

Evaluate to high precision:

The precision of the output tracks the precision of the input:

Evaluate efficiently at high precision:

TriangleWave threads over lists in the last argument:

Specific Values  (4)

Value at zero:

Values of TriangleWave at fixed points:

Evaluate symbolically:

Find a value of for which the TriangleWave[x]=0.5:

Visualization  (4)

Plot the TriangleWave function:

Visualize scaled TriangleWave functions:

Visualize TriangleWave functions with different maximum and minimum values:

Plot TriangleWave in three dimensions:

Function Properties  (11)

Function domain of TriangleWave:

It is restricted to real inputs:

Function range of TriangleWave[x]:

TriangleWave is periodic with period 1:

TriangleWave is an odd function:

The area under one period is zero:

TriangleWave is not an analytic function because it is singular at the half-integers:

However, it is continuous:

TriangleWave[x] is neither nondecreasing nor nonincreasing:

TriangleWave is not injective:

TriangleWave[x] is not surjective:

TriangleWave[x] is neither non-negative nor non-positive:

TriangleWave is neither convex nor concave:

Differentiation and Integration  (5)

First derivative with respect to :

Derivative of the two-argument form with respect to :

The second (and higher) derivatives are zero except at points where the derivative does not exist:

If a==b, TriangleWave[{a,b},x] is constant and its derivatives are zero everywhere:

Integrals over finite domains:

Series Expansions  (5)


Since TriangleWave is odd, FourierTrigSeries gives a simpler result:

The two results are equivalent:

FourierCosSeries of a scaled TriangleWave:

Maclaurin series:

Series expansion at a singular point:

Taylor expansion at a generic point:

Applications  (2)

Coefficients of Fourier series:

Explicit Fourier series approximant:

Plot the residual term:

Triangle wave sound sample:

Properties & Relations  (3)

Use FunctionExpand to expand TriangleWave in terms of elementary functions:

Use PiecewiseExpand to obtain piecewise representation on an interval:

TriangleWave[x] is both upper and lower semicontinuous, and thus continuous, at the origin:

This is different from SquareWave[x], which is only upper semicontinuous:

As well as SawtoothWave[x], which is only lower semicontinuous:

Visualize the three functions:

Possible Issues  (1)

TriangleWave is undefined for complex numbers:

Wolfram Research (2008), TriangleWave, Wolfram Language function,


Wolfram Research (2008), TriangleWave, Wolfram Language function,


Wolfram Language. 2008. "TriangleWave." Wolfram Language & System Documentation Center. Wolfram Research.


Wolfram Language. (2008). TriangleWave. Wolfram Language & System Documentation Center. Retrieved from


@misc{reference.wolfram_2024_trianglewave, author="Wolfram Research", title="{TriangleWave}", year="2008", howpublished="\url{}", note=[Accessed: 21-June-2024 ]}


@online{reference.wolfram_2024_trianglewave, organization={Wolfram Research}, title={TriangleWave}, year={2008}, url={}, note=[Accessed: 21-June-2024 ]}