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,
var heaviside = require( '@stdlib/math/base/special/heaviside' );
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
var uniform = require( '@stdlib/random/array/uniform' );
var logEachMap = require( '@stdlib/console/log-each-map' );
var heaviside = require( '@stdlib/math/base/special/heaviside' );
var opts = {
'dtype': 'float64'
};
var x = uniform( 101, -10.0, 10.0, opts );
logEachMap( 'H(%0.4f) = %0.4f', x, heaviside );
@stdlib/math/base/special/ramp
: evaluate the ramp function.