MATLAB Function Reference
cellfun

Apply function to each element in cell array

Syntax

• ```D = cellfun('fname', C)
D = cellfun('size', C, k)
D = cellfun('isclass', C, classname)
```

Description

```D = cellfun('fname', C) ``` applies the function `fname` to the elements of the cell array `C` and returns the results in the double array `D`. Each element of `D` contains the value returned by `fname` for the corresponding element in `C`. The output array `D` is the same size as the cell array `C`.

These functions are supported:

 Function Return Value `isempty` `true` for an empty cell element `islogical` `true` for a logical cell element `isreal` `true` for a real cell element `length` Length of the cell element `ndims` Number of dimensions of the cell element `prodofsize` Number of elements in the cell element

```D = cellfun('size', C, k) ``` returns the size along the `k`th dimension of each element of `C`.

```D = cellfun('isclass', C, 'classname') ``` returns logical `1` (`true`) for each element of `C` that matches `classname`. This function syntax returns logical 0 (`false`) for objects that are a subclass of `classname`.

Limitations

If the cell array contains objects, `cellfun` does not call overloaded versions of the function `fname`.

Examples

Consider this 2-by-3 cell array:

• ```C{1,1} = [1 2; 4 5];
C{1,2} = 'Name';
C{1,3} = pi;
C{2,1} = 2 + 4i;
C{2,2} = 7;
C{2,3} = magic(3);
```

`cellfun` returns a 2-by-3 double array:

• ```D = cellfun('isreal', C)

D =
1     1     1
0     1     1

len = cellfun('length', C)

len =
2     4     1
1     1     3

isdbl = cellfun('isclass', C, 'double')

isdbl =
1     0     1
1     1     1
```

`isempty`, `islogical`, `isreal`, `length`, `ndims`, `size`