从单元阵列中保存无限矩阵

时间:2015-10-15 11:34:51

标签: arrays matlab for-loop matrix cell-array

我得到一个包含103个不同尺寸单元格的单元格数组。我的单元阵列的每个单元代表一个矩阵,它可以显示为图像。如何在for循环中提取每个单元格(即每个矩阵)?

我知道如何逐个完成,但不是整个细胞:

image1 = cellArray{1}; % extract matrix 1 (on 103) from the cell array #1
image2 = cellArray{2}; % and so on

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

循环使用单元格数组并将相同的函数应用于每个单元格的最简单方法是使用cellfun。如果你的函数返回一个标量,例如

f = @(x)max(:)

然后它就像

一样简单
cellfun(f, cellArray)

请注意,上面的f是一个匿名函数(或者更确切地说是一个匿名函数的函数句柄),但更有可能你的函数将在它自己的m文件中,在这种情况下你需要使用{{ 1}} operator:

@

最后,如果您的输出不是标量,则调用

cellfun(@f, cellArray)