如何在scilab中的矩阵中保存前4个最大数的索引

时间:2019-12-24 12:21:19

标签: matlab scilab

我需要保存4个最大数字的索引 例如,我需要获取第10、9、7、5行的索引

5.0259327
4.7127487
4.8435524
4.8538644
5.1048996
6.2441973
5.9413803
6.2912638
5.1117512
5.8309519
5.7419509
6.9663477
5.9958319
6.9519781
6.5802736
6.7327558
7.6765878

我用过

[mA,nA]=max(distA) 
where mA is the row and nA is the column

获得一个最大数量,但是我不知道如何选择另一个最大数量而不重复。我无法排序,因为我需要索引。

2 个答案:

答案 0 :(得分:1)

您可以使用gsort函数:

 [S,ind]=gsort(distA,"g","d");

最大的4个元素的索引由

给出
 ind(1:4)

答案 1 :(得分:0)

您可以使用这个小把戏。

 [output_val, output_index] = max(input_mat(input_mat < max(input_mat)))

这将为您提供第二大元素的值和索引。然后类似地,您可以对4个数字进行处理。