如何在矩阵的单元格数组中找到每个维度的最大值?

时间:2015-02-23 00:21:34

标签: arrays matlab matrix max

我得到一个由不同大小的矩阵组成的单元数组A。例如,我可以有一个三元素单元格数组,其中每个元素的尺寸为:

A{1} -> 4 x 3
A{2} -> 16 x 4
A{3} -> 5 x 14

如何遍历单元格数组并返回每个维度的最大值?例如,上面示例A的此操作的预期输出应该给出:

[16 14]

这是因为通过检查第一个维度,三个矩阵的最大行数为16.同样,三个矩阵的最大列数为14.

2 个答案:

答案 0 :(得分:4)

我的原始答案返回了单元格的最大元素。现在包括您的评论正确的代码:

knedlsepp基本上得到了它。性能略有改善:

[a(:,1),a(:,2)]=cellfun(@size,A);
max(a)

答案 1 :(得分:3)

我猜你在找:

max(cell2mat(cellfun(@size,A(:),'uni',0)),[],1)