Arrays 如何从MATLAB矩阵M中求N指标的最大值指标

Arrays 如何从MATLAB矩阵M中求N指标的最大值指标,arrays,matlab,sorting,indexing,find,Arrays,Matlab,Sorting,Indexing,Find,假设我有一个矩阵M 500x500 我想找到第一个100个索引,它们在M中的值最大 我的想法是按降序对数据M进行排序,并使用find进行比较 [x,y] = find(M == sort(M(:),'descend'), 100, 'first'); 但当我运行程序时,我发现了错误 我想这部分可能是M==sort(M(:),'descent') 你能帮我吗?你不需要查找。只需使用排序的第二个输出: [~, iSorted] = sort(M(:),'descend'); [x y] = ind

假设我有一个矩阵M 500x500

我想找到第一个100个索引,它们在M中的值最大

我的想法是按降序对数据M进行排序,并使用find进行比较

[x,y] = find(M == sort(M(:),'descend'), 100, 'first');
但当我运行程序时,我发现了错误

我想这部分可能是
M==sort(M(:),'descent')


你能帮我吗?

你不需要
查找
。只需使用排序的第二个输出:

[~, iSorted] = sort(M(:),'descend');
[x y] = ind2sub(size(M), iSorted(1:100));
尝试使用
M(:,:)
而不是
M(:)
,因为矩阵是二维的