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

学习 时间:2026-04-01 10:42:37 阅读:3311
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,3112,15,20,21].也可以是[29,12;29,15;29,20;31,21]明白了.

最佳回答

贪玩的香水

儒雅的大米

2026-04-01 10:42:37

可以利用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 18Columns 13 through 21 19 21 21 23 23 29 29 29 31i =Columns 1 through 12 9 6 1 10 3 18 11 19 17 2 5 7Columns 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

最新回答共有2条回答

  • 无情的蜜粉
    回复
    2026-04-01 10:42:37

    可以利用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 18Columns 13 through 21 19 21 21 23 23 29 29 29 31i =Columns 1 through 12 9 6 1 10 3 18 11 19 17 2 5 7Columns 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

上一篇 江雪的名句是什么

下一篇 考的部首是什么