gives a square wave that alternates between and with unit period.


gives a square wave that alternates between y1 and y2 with unit period.


  • SquareWave[{min,max},x] has value max for 0<x<1/2.


open allclose all

Basic Examples  (3)

Evaluate numerically:

Plot over a subset of the reals:

SquareWave is a piecewise function over finite domains:

Scope  (25)

Numerical Evaluation  (4)

Evaluate numerically:

Evaluate with custom heights:

SquareWave[x] always returns an exact result:

SquareWave[{min,max},x] generally tracks the precision of {min,max}:

Evaluate efficiently at high precision:

SquareWave threads over lists in the last argument:

Specific Values  (3)

Values at fixed points:

Evaluate symbolically:

Find a value of x for which the SquareWave[{2,-3},x]=2:

Visualization  (4)

Plot the SquareWave function:

Visualize scaled SquareWave functions:

Visualize SquareWave functions with different maximum and minimum values:

Plot SquareWave in three dimensions:

Function Properties  (5)

Function domain of SquareWave:

It is restricted to real inputs:

Function range of SquareWave:

SquareWave is periodic with period 1:

SquareWave is an odd function:

The area under one period is zero:

Differentiation and Integration  (4)

First derivative with respect to :

Derivative of the two-argument form with respect to :

Compute the indefinite integral using Integrate:

Verify the anti-derivative away from the the singular points:

More integrals:

Series Expansions  (5)


Since SquareWave is odd, FourierTrigSeries gives a simpler result:

The two results are equivalent:

FourierCosSeries of a scaled SquareWave:

Taylor series at a smooth point:

Series expansion at a singular point:

Taylor expansion at a generic point:

Applications  (2)

Square wave sound sample:

Fourier decomposition:

Properties & Relations  (3)

Use FunctionExpand to expand SquareWave in terms of elementary functions:

Use PiecewiseExpand to obtain piecewise representation:


Possible Issues  (1)

SquareWave is only defined on real numbers:

Wolfram Research (2008), SquareWave, Wolfram Language function, https://reference.wolfram.com/language/ref/SquareWave.html.


Wolfram Research (2008), SquareWave, Wolfram Language function, https://reference.wolfram.com/language/ref/SquareWave.html.


@misc{reference.wolfram_2020_squarewave, author="Wolfram Research", title="{SquareWave}", year="2008", howpublished="\url{https://reference.wolfram.com/language/ref/SquareWave.html}", note=[Accessed: 18-January-2021 ]}


@online{reference.wolfram_2020_squarewave, organization={Wolfram Research}, title={SquareWave}, year={2008}, url={https://reference.wolfram.com/language/ref/SquareWave.html}, note=[Accessed: 18-January-2021 ]}


Wolfram Language. 2008. "SquareWave." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/SquareWave.html.


Wolfram Language. (2008). SquareWave. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/SquareWave.html