Execute cellfun on nested cell array
I often find myself writing function like cellfun(@(cell1) cellfun(@(cell2), fun(cell2), cell1,'un',0), outcell,'un',0). This can be tedious and error prone. So I wrote this generale nested cell fun which allows you to apply a function to a nested cell. For example, mat is a 1x3 cell array. Each cell contains 2 cells, which contains a matrix of X datapoints. We want to calculate the mean of each matrix. We could call a double cellfun as the one before, or my function:
out=ncellfun(@mean, mat).
The number of levels is determined by the function (it stops until it finds a non-cell). You can specify your own value with a third argument=
out=ncellfun(@cell2mat, mat,1)
in this case the function will be applied to a cell. The third argument specify how many cellfun it needs to be used.
The function has not been written for being fast to run, but to be fast to write. It uses eval, so be warned.
Citar como
Valerio Biscione (2024). Execute cellfun on nested cell array (https://www.mathworks.com/matlabcentral/fileexchange/50133-execute-cellfun-on-nested-cell-array), MATLAB Central File Exchange. Recuperado .
Compatibilidad con la versión de MATLAB
Compatibilidad con las plataformas
Windows macOS LinuxCategorías
Etiquetas
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Descubra Live Editor
Cree scripts con código, salida y texto formateado en un documento ejecutable.
Versión | Publicado | Notas de la versión | |
---|---|---|---|
1.0.0.0 |