如何找到矩阵元胞数组中每个维度的最大值?
How do I find the maximum of each dimension in a cell array of matrices?
我得到了一个元胞数组 A
,它由不同大小的矩阵组成。例如,我可以有一个三元素元胞数组,其中每个元素的维度为:
A{1} -> 4 x 3
A{2} -> 16 x 4
A{3} -> 5 x 14
我将如何遍历元胞数组和return 每个维度 的最大值?例如,上述 A
示例的此操作的预期输出应为:
[16 14]
这是因为通过检查第一维,三个矩阵的最大行数是 16。同样,三个矩阵的最大列数是 14。
我原来的答案返回了单元格的最大元素。现在包括您的评论正确的代码:
knedlsepp 基本搞定了。性能略有改进:
[a(:,1),a(:,2)]=cellfun(@size,A);
max(a)
我猜你正在寻找:
max(cell2mat(cellfun(@size,A(:),'uni',0)),[],1)
我得到了一个元胞数组 A
,它由不同大小的矩阵组成。例如,我可以有一个三元素元胞数组,其中每个元素的维度为:
A{1} -> 4 x 3
A{2} -> 16 x 4
A{3} -> 5 x 14
我将如何遍历元胞数组和return 每个维度 的最大值?例如,上述 A
示例的此操作的预期输出应为:
[16 14]
这是因为通过检查第一维,三个矩阵的最大行数是 16。同样,三个矩阵的最大列数是 14。
我原来的答案返回了单元格的最大元素。现在包括您的评论正确的代码:
knedlsepp 基本搞定了。性能略有改进:
[a(:,1),a(:,2)]=cellfun(@size,A);
max(a)
我猜你正在寻找:
max(cell2mat(cellfun(@size,A(:),'uni',0)),[],1)