matlab数组中求最大的几个数并返回其位置
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]明白了.
最佳回答
可以利用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
热门文章
- 康达学院专转本五年制
- 高考一个考场分ab卷吗
- not only but also用法
- 某物体做自由落体运动,从释放开始计时,则物体在前2s内的平均速度为______m/s,物体下落2m时的速度大小为______m/s.
- 三角函数公式大全表格
- 地理中考必背知识点2022
- 2013-2014学年小学六年级科学上学期期末考试试卷及答案
- 人教版2014-2015学年小学五年级英语第二学期期中教学质量检测试卷及答案
- 【Linux驱动开发】设备树详解(二)设备树语法详解
- 别跟客户扯细节
- 在别的城市买房子能落户吗
- 卖房前要把装修贷还完吗
- 高中政治教学提高教学效果的方法探究
- “互联网+”背景下的初中英语课堂教学改革与创新策略研究
- 2022年终止合同范本
- 租房合同范本范文
- 如何挑选土豆
- 如何挑选土鸡
