Explanation of cellfun()
Show older comments
Explaination of cellfun() call with @(data):
Hi everyone,
I have a rather stupid question I think, but I do not understand a specific call of the cellfun().
My question came up when I was working with the MATLAB example: Similarity-Based Remaining Useful Life Estimation. There is a function applied to each cell of a cell array, for example in line 34:
trainDataNormalized = cellfun(@(data) regimeNormalization(data, centers, centerstats), ...
trainData, 'UniformOutput', false);
[...] line 176: (for info)
function data = regimeNormalization(data, centers, centerstats)
For me the content of the cellfun() and its function is clear, exept of the expression @(data). Cellfun() applies the function regimeNormalization individual to each cell of the cell array trainData.
Looking in the doku of cellfun() they call a funktion like this and leave out the additional function like above. Which I think I undestand, see below.
A = cellfun(@mean,C)
p = cellfun(@plot,X,Y);
But in the documentation they also do this, which is exactly like my problem, but the explaination is not sufficient for me. (MATLAB advanced beginner) What is the expression @(x) mean?
B = cellfun(@(x) x(1:3),str,'UniformOutput',false)
Does cellfun() accessing one cell of the cell array temporarily store the data inside the cell in the variable x?
Accepted Answer
More Answers (0)
Categories
Find more on Startup and Shutdown in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!