MATLAB Function Reference
cellfun

Apply a function to each element in a 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 `true` for each element of `C` that matches `classname`. This function syntax returns `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`.

Example

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`