--- layout: default ---

Function subset #

Get or set a subset of a matrix or string.

Syntax #

```js math.subset(value, index) // retrieve a subset math.subset(value, index, replacement [, defaultValue]) // replace a subset ```

Parameters #

Parameter | Type | Description --------- | ---- | ----------- `matrix` | Array | Matrix | string | An array, matrix, or string `index` | Index | For each dimension of the target, specifies an index or a list of indices to fetch or set. `subset` uses the cartesian product of the indices specified in each dimension. `replacement` | * | An array, matrix, or scalar. If provided, the subset is replaced with replacement. If not provided, the subset is returned `defaultValue` | * | Default value, filled in on new entries when the matrix is resized. If not provided, math.matrix elements will be left undefined. Default value: undefined.

Returns #

Type | Description ---- | ----------- Array | Matrix | string | Either the retrieved subset or the updated matrix.

Throws #

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

Examples #

```js // get a subset const d = [[1, 2], [3, 4]] math.subset(d, math.index(1, 0)) // returns 3 math.subset(d, math.index([0, 1], 1)) // returns [[2], [4]] math.subset(d, math.index([false, true], 0)) // returns [[3]] // replace a subset const e = [] const f = math.subset(e, math.index(0, [0, 2]), [5, 6]) // f = [[5, 0, 6]] const g = math.subset(f, math.index(1, 1), 7, 0) // g = [[5, 0, 6], [0, 7, 0]] math.subset(g, math.index([false, true], 1), 8) // returns [[5, 0, 6], [0, 8, 0]] // get submatrix using ranges const M = [ [1,2,3], [4,5,6], [7,8,9] ] math.subset(M, math.index(math.range(0,2), math.range(0,3))) // [[1, 2, 3], [4, 5, 6]] ```

See also #

[size](size.html), [resize](resize.html), [squeeze](squeeze.html), [index](index.html)