Execute cellfun on nested cell array

Execute cellfun on nested cell array
186 Downloads
Aktualisiert 21. Mär 2015

Lizenz anzeigen

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.

Zitieren als

Valerio Biscione (2026). Execute cellfun on nested cell array (https://de.mathworks.com/matlabcentral/fileexchange/50133-execute-cellfun-on-nested-cell-array), MATLAB Central File Exchange. Abgerufen.

Kompatibilität der MATLAB-Version
Erstellt mit R2014b
Kompatibel mit allen Versionen
Plattform-Kompatibilität
Windows macOS Linux
Kategorien
Mehr zu Data Types finden Sie in Help Center und MATLAB Answers
Version Veröffentlicht Versionshinweise
1.0.0.0