1. 程式人生 > >matlab陣列中求最大的幾個數並返回其位置

matlab陣列中求最大的幾個數並返回其位置

可以利用sort函式給數列a從小到大排列,找前幾個最大的。如下:
[b,i]=sort(a)。b為從小到大的數字,i為對應位置。要找前3個,如下輸入:
>> a=[3,15,6,21,18,2,18,19,1,4,7,29, 21 ,23 ,29 ,23, 14, 6, 9 ,29 ,31];
>> [b,i]=sort(a)

b =

  Columns 1 through 12 

     1     2     3     4     6     6     7     9    14    15    18    18

  Columns 13 through 21 

    19    21    21    23    23    29    29    29    31

i =

  Columns 1 through 12 

     9     6     1    10     3    18    11    19    17     2     5     7

  Columns 13 through 21 

     8     4    13    14    16    12    15    20    21

>> b(19:21)

ans =

    29    29    31

>> i(19:21)

ans =

    15    20    21
原文地址:http://zhidao.baidu.com/link?url=uVOZjOSkCiGtwhHnKMLP9OZ27X1H3OxyBX3hg8HSzr2_p7h51IDcJyi8V59K0p11hqYR0v4SP24m1k-nNzeWU_