Heaviside Function
Evaluate the Heaviside function.
The Heaviside function is defined as
and is discontinuous at 0
. Depending on the context, the Heaviside function may be defined as a continuous function. To define the Heaviside function such that the function has rotational symmetry,
To define the Heaviside function as a left-continuous function,
To define the Heaviside function as a right-continuous function,
Usage
var heaviside = require( '@stdlib/math/base/special/heaviside' );
heaviside( x[, continuity] )
Evaluates the Heaviside function.
var v = heaviside( 3.14 );
// returns 1.0
v = heaviside( -3.14 );
// returns 0.0
v = heaviside( NaN );
// returns NaN
The continuity
parameter may be one of the following values:
'half-maximum'
: ifx == 0
, the function returns0.5
.'left-continuous'
: ifx == 0
, the function returns0.0
.'right-continuous'
: ifx == 0
, the function returns1.0
.
By default, the function is discontinuous at 0
.
var v = heaviside( 0.0 );
// returns NaN
To define the Heaviside function as a continuous function, set the continuity
parameter.
var v = heaviside( 0.0, 'half-maximum' );
// returns 0.5
v = heaviside( 0.0, 'left-continuous' );
// returns 0.0
v = heaviside( 0.0, 'right-continuous' );
// returns 1.0
Examples
var linspace = require( '@stdlib/array/base/linspace' );
var heaviside = require( '@stdlib/math/base/special/heaviside' );
var x = linspace( -10.0, 10.0, 101 );
var i;
for ( i = 0; i < x.length; i++ ) {
console.log( 'H(%d) = %d', x[ i ], heaviside( x[ i ] ) );
}