# 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)

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 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:

Integration:

## 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: