Compute the mean of each vector in cell array C.
C = {1:10, [2; 4; 6], []};
averages = cellfun(@mean, C)
This code returns
averages =
5.5000 4.0000 NaN
.............................................................
Compute the size of each array in C, created in the previous example.
[nrows, ncols] = cellfun(@size, C)
This code returns
nrows =
1 3 0
ncols =
10 1 0
..........................................................
cellfun中使用自定义函数对cell数组进行处理;既然可以自定义函数,那么cellfun中的的中间部分的参数个数和自定义函数需要的参数数目相同。
还能这么用。
queryNearestNeighborIds = cellfun( @(vector, index) vector(index), queryCandidateIds, queryNearestNeighborIds, ‘UniformOutput‘, false );
................................................
Create a cell array that contains strings, and abbreviate those strings to the first three characters. Because the output strings are nonscalar, set UniformOutput to false.
days = {‘Monday‘, ‘Tuesday‘, ‘Wednesday‘, ‘Thursday‘, ‘Friday‘};
abbrev = cellfun(@(x) x(1:3), days, ‘UniformOutput‘, false)
The syntax @(x) creates an anonymous function. This code returns
abbrev =
‘Mon‘ ‘Tue‘ ‘Wed‘ ‘Thu‘ ‘Fri‘
原文:http://www.cnblogs.com/hxsyl/p/4646033.html