Function matrixFromFunction #
Create a matrix by evaluating a generating function at each index.
The simplest overload returns a multi-dimensional array as long as size is an array.
Passing size as a Matrix or specifying a format will result in returning a Matrix.
Syntax #
math.matrixFromFunction(size, fn)
math.matrixFromFunction(size, fn, format)
math.matrixFromFunction(size, fn, format, datatype)
math.matrixFromFunction(size, format, fn)
math.matrixFromFunction(size, format, datatype, fn)
Parameters #
| Parameter |
Type |
Description |
size |
Array | Matrix |
The size of the matrix to be created |
fn |
function |
Callback function invoked for every entry in the matrix |
format |
string |
The Matrix storage format, either 'dense' or 'sparse' |
datatype |
string |
Type of the values |
Returns #
| Type |
Description |
| Array | Matrix |
Returns the created matrix |
Throws #
Examples #
math.matrixFromFunction([3,3], i => i[0] - i[1]) // an antisymmetric matrix
math.matrixFromFunction([100, 100], 'sparse', i => i[0] - i[1] === 1 ? 4 : 0) // a sparse subdiagonal matrix
math.matrixFromFunction([5], i => math.random()) // a random vector
See also #
matrix,
zeros