Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

linspace2d

Generate a linearly spaced two-dimensional nested numeric array.

Usage

var linspace2d = require( '@stdlib/array/base/linspace2d' );

linspace2d( start, stop, shape, colexicographic )

Generates a linearly spaced two-dimensional nested numeric array.

var x = linspace2d( 0, 100, [ 2, 3 ], false );
// returns [ [ 0, 20, 40 ], [ 60, 80, 100 ] ]

x = linspace2d( 0, 100, [ 2, 3 ], true );
// returns [ [ 0, 40, 80 ], [ 20, 60, 100 ] ]

The function accepts the following arguments:

  • start: first array value.
  • stop: last array value.
  • shape: array shape.
  • colexicographic: specifies whether generated array values should be stored in colexicographic order.

Notes

  • The output array is guaranteed to include the start and stop values. Beware, however, that values between start and stop are subject to floating-point rounding errors. Hence,

    var arr = linspace2d( 0, 1, [ 1, 3 ], false );
    // returns [ [ 0, ~0.5, 1 ] ]

    where arr[0][1] is only guaranteed to be approximately equal to 0.5. If you desire more control over element precision, consider using roundn:

    var roundn = require( '@stdlib/math/base/special/roundn' );
    var map2d = require( '@stdlib/array/base/map2d' );
    
    var arr = linspace2d( 0, 1, [ 1, 3 ], false );
    // returns [ [ 0, ~0.5, 1 ] ]
    
    // Round each value to the nearest tenth:
    var out = map2d( arr, [ 1, 3 ], clbk );
    // returns [ [ 0, 0.5, 1 ] ]
    
    function clbk( v ) {
        return roundn( v, -1 );
    }

Examples

var linspace2d = require( '@stdlib/array/base/linspace2d' );

var out = linspace2d( 0, 10, [ 2, 5 ], false );
console.log( out );

out = linspace2d( 0, 10, [ 2, 3 ], true );
console.log( out );

out = linspace2d( 0, 10, [ 4, 2 ], true );
console.log( out );

// Create an array of arrays with decremented values:
out = linspace2d( 10, 0, [ 2, 5 ], false );
console.log( out );