如何在 scilab 的矩阵中保存前 4 个最大数字的索引
How do I save the indices of the top 4 maximum numbers in a matrix in 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
在获得一个最大数量,但我无法弄清楚如何在不重复的情况下选择另一个最大数量。我无法排序,因为我需要索引。
你可以使用这个小技巧。
[output_val, output_index] = max(input_mat(input_mat < max(input_mat)))
这将为您提供第二大元素的值和索引。然后类似地,你可以为 4 个数字做。
您可以使用 gsort 函数:
[S,ind]=gsort(distA,"g","d");
4 个最大元素的索引由
给出
ind(1:4)
我需要保存最多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
在获得一个最大数量,但我无法弄清楚如何在不重复的情况下选择另一个最大数量。我无法排序,因为我需要索引。
你可以使用这个小技巧。
[output_val, output_index] = max(input_mat(input_mat < max(input_mat)))
这将为您提供第二大元素的值和索引。然后类似地,你可以为 4 个数字做。
您可以使用 gsort 函数:
[S,ind]=gsort(distA,"g","d");
4 个最大元素的索引由
给出 ind(1:4)