假设我们有Q
个单元格,每个单元格都有一个N x M
数组。其中Array{q}(n,m)
是n
个单元格的m
列的q
行中的元素。
我想找到每个列中包含最大值元素的索引。
有人可以建议一种简单的方法吗?
答案 0 :(得分:1)
我会将您的单元格数组连接成3D矩阵,然后使用max
查找每列的最大值,然后使用max
再次找到第三列的最大值维度并使用max
的第二个输出来指示它属于哪个单元格
% Convert data into 3D array
condensed = cat(3, Q{:});
% Find the location in the maximum
[~, ind] = max(max(condensed, [], 1), [], 3);
作为一个例子:
Q = {[2 1;
4 0], ...
[1 2;
3 1]};
[~, ind] = max(max(cat(3, Q{:}), [], 1), [], 3);
% 1 2