--- layout: default ---

Function range #

Create a matrix or array containing a range of values. By default, the range end is excluded. This can be customized by providing an extra parameter `includeEnd`.

Syntax #

```js math.range(str [, includeEnd]) // Create a range from a string, // where the string contains the // start, optional step, and end, // separated by a colon. math.range(start, end [, includeEnd]) // Create a range with start and // end and a step size of 1. math.range(start, end, step [, includeEnd]) // Create a range with start, step, // and end. ```

Where #

- `str: string` A string 'start:end' or 'start:step:end' - `start: {number | bigint | BigNumber | Fraction | Unit}` Start of the range - `end: number | bigint | BigNumber | Fraction | Unit` End of the range, excluded by default, included when parameter includeEnd=true - `step: number | bigint | BigNumber | Fraction | Unit` Step size. Default value is 1. - `includeEnd: boolean` Option to specify whether to include the end or not. False by default.

Parameters #

Parameter | Type | Description --------- | ---- | ----------- `args` | * | Parameters describing the range's `start`, `end`, and optional `step`.

Returns #

Type | Description ---- | ----------- Array | Matrix | range

Throws #

Type | Description ---- | -----------

Examples #

```js math.range(2, 6) // [2, 3, 4, 5] math.range(2, -3, -1) // [2, 1, 0, -1, -2] math.range('2:1:6') // [2, 3, 4, 5] math.range(2, 6, true) // [2, 3, 4, 5, 6] math.range(2, math.fraction(8,3), math.fraction(1,3)) // [fraction(2), fraction(7,3)] math.range(math.unit(2, 'm'), math.unit(-3, 'm'), math.unit(-1, 'm')) // [2 m, 1 m, 0 m , -1 m, -2 m] ```

See also #

[ones](ones.html), [zeros](zeros.html), [size](size.html), [subset](subset.html)