Generate a linearly spaced two-dimensional nested numeric array.
var linspace2d = require( '@stdlib/array/base/linspace2d' );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.
-
The output array is guaranteed to include the
startandstopvalues. Beware, however, that values betweenstartandstopare 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 to0.5. If you desire more control over element precision, consider usingroundn: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 ); }
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 );