Execute cellfun on nested cell array

Execute cellfun on nested cell array
185 Descargas
Actualizado 21 mar 2015

Ver licencia

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
Se creó con R2014b
Compatible con cualquier versión
Compatibilidad con las plataformas
Windows macOS Linux
Categorías
Más información sobre Data Types en Help Center y MATLAB Answers.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Versión Publicado Notas de la versión
1.0.0.0