# numpy.ma.fromfunction¶

`numpy.ma.``fromfunction`(function, shape, **kwargs) = <numpy.ma.core._convert2ma instance>

Construct an array by executing a function over each coordinate.

The resulting array therefore has a value `fn(x, y, z)` at coordinate `(x, y, z)`.

Parameters: function : callable The function is called with N parameters, where N is the rank of `shape`. Each parameter represents the coordinates of the array varying along a specific axis. For example, if `shape` were `(2, 2)`, then the parameters would be `array([[0, 0], [1, 1]])` and `array([[0, 1], [0, 1]])` shape : (N,) tuple of ints Shape of the output array, which also determines the shape of the coordinate arrays passed to function. dtype : data-type, optional Data-type of the coordinate arrays passed to function. By default, dtype is float. fromfunction : any The result of the call to function is passed back directly. Therefore the shape of `fromfunction` is completely determined by function. If function returns a scalar value, the shape of `fromfunction` would match the `shape` parameter.

`indices`, `meshgrid`

Notes

Keywords other than dtype are passed to function.

Examples

```>>> np.fromfunction(lambda i, j: i == j, (3, 3), dtype=int)
array([[ True, False, False],
[False,  True, False],
[False, False,  True]], dtype=bool)
```
```>>> np.fromfunction(lambda i, j: i + j, (3, 3), dtype=int)
array([[0, 1, 2],
[1, 2, 3],
[2, 3, 4]])
```

#### Previous topic

numpy.ma.frombuffer

numpy.ma.empty