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:

Introduced in 2008