matlab数组中求最大的几个数 并提取标号

2024-10-29 04:44:01
推荐回答(1个)
回答1:

你先用B=sort(A)把数组排序,然后提取第30个当坐标
就是B(30), 大于B(30)的定然就是属于最大30个以内的了。
你用find(A>B(30))就可以找到这些大于B(30)的坐标。
然后你可以根据坐标提取这些数
A(find(A>B(30)))

当然这个的前提是B(31)和B(30)不相等(数组没有两个数是相同的),不然都一样的话提取的就不是最大的30个数,而是29个数了。