如何返回包含给定列的最大值元素的单元格的索引



假设我们有Q个单元格,每个单元格包含一个N x M数组。其中Array{q}(n,m)是第q个单元格第m列第n行中的元素。

我想找到每列中保存最大值元素的单元格的索引

任何人都可以建议一种简单的方法来做到这一点吗?

我会将您的单元格数组连接成一个 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

最新更新