SquareWave

SquareWave[x]

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

SquareWave[{y1,y2},x]

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

Details

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

Examples

open allclose all

Basic Examples(3)

Evaluate numerically:

Plot over a subset of the reals:

SquareWave is a piecewise function over finite domains:

Scope(33)

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(4)

Value at zero:

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(11)

Function domain of SquareWave:

It is restricted to real inputs:

Function range of SquareWave[x]:

SquareWave is periodic with period 1:

SquareWave is an odd function:

The area under one period is zero:

SquareWave is not an analytic function:

It has both singularities and discontinuities on the integers:

SquareWave[x] is neither nondecreasing nor nonincreasing:

SquareWave is not injective:

SquareWave[x] is not surjective:

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

SquareWave is neither convex nor concave:

Differentiation and Integration(5)

First derivative with respect to :

Derivative of the two-argument form with respect to :

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

Compute the indefinite integral using Integrate:

Verify the anti-derivative away from 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:

Compute the Fourier decomposition:

Get the ninth-order partial sum:

At the points of discontinuity, the Gibbs phenomenon of overshooting is observed:

Properties & Relations(4)

Use FunctionExpand to expand SquareWave in terms of elementary functions:

Use PiecewiseExpand to obtain a piecewise representation:

Integration:

Compute a finite number of Fourier coefficients:

Find the formula:

Use a FourierCoefficient directly:

Verify the consistency of formulas:

Possible Issues(2)

SquareWave is only defined on real numbers:

SquareWave[x] is upper semicontinuous but not lower semicontinuous at the origin:

This differs from TriangleWave[x], which is both upper and lower semicontinuous, and thus continuous:

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

Visualize the three functions:

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

Text

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

CMS

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

APA

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

BibTeX

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

BibLaTeX

@online{reference.wolfram_2023_squarewave, organization={Wolfram Research}, title={SquareWave}, year={2008}, url={https://reference.wolfram.com/language/ref/SquareWave.html}, note=[Accessed: 01-March-2024 ]}