作业帮 > 综合 > 作业

matlab数组中求最大的几个数并返回其位置

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/10 18:24:53
matlab数组中求最大的几个数并返回其位置
现有一个1*10000的矩阵,要求其最大的前n个数.并且返回其在矩阵中的位置.举例如下.a=[3,15,6,21,18,2,18,19,1,4,7,29,21 ,23 ,29 ,23,14,6,9 ,29 ,31],求其最大的前4个数,分别是[29,29,29,31],要返回的结果是
[29,29,29,31
12,15,20,21].也可以是[29,12;29,15;29,20;31,21]
明白了.
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