Incrspace

Generate a linearly spaced numeric array using a provided increment.

Usage

var incrspace = require( '@stdlib/math/utils/incrspace' );

incrspace( start, stop[, increment] )

Generates a linearly spaced numeric array. If an increment is not provided, the default increment is 1.

var arr = incrspace( 0, 11, 2 );
// returns [ 0, 2, 4, 6, 8, 10 ]

Notes

  • The output array is guaranteed to include the start value but does not include the stop value. Beware that values subsequent to the start value are subject to floating-point errors. Hence,

    var arr = incrspace( 0.1, 0.5, 0.2 );
    // returns [ 0, ~0.3 ]
    

    where arr[1] is only guaranteed to be approximately equal to 0.3.

    If you desire more control over element precision, consider using roundn:

    var roundn = require( '@stdlib/math/base/special/roundn' );
    var arr;
    var out;
    var i;
    
    // Create an array subject to floating-point errors:
    arr = incrspace( 0, 1.01, 0.02 );
    
    // Round each value to the nearest hundredth:
    out = new Array( arr.length );
    for ( i = 0; i < arr.length; i++ ) {
        out[ i ] = roundn( arr[ i ], -2 );
    }
    
    console.log( out.join( '\n' ) );
    

Examples

var incrspace = require( '@stdlib/math/utils/incrspace' );
var out;

// Default behavior:
console.log( '\nDefault:' );
out = incrspace( 0, 10 );
console.log( out.join( '\n' ) );

// Specify increment:
console.log( '\nIncrement 2:' );
out = incrspace( 0, 10, 2 );
console.log( out.join( '\n' ) );

console.log( '\nIncrement 2:' );
out = incrspace( 0, 11, 2 );
console.log( out.join( '\n' ) );

console.log( '\nIncrement 0.02:' );
out = incrspace( 0, 1.01, 0.02 );
console.log( out.join( '\n' ) );

// Create an array using a negative increment:
console.log( '\nDecremented values:' );
out = incrspace( 10, 0, -2 );
console.log( out.join( '\n' ) );