matlab如何找出一个矩阵中的前n个最小项所在的位置

我想知道在一个矩阵中前20个最小项在这个矩阵中的位置 如何写程序。。。。

clear;clc 
A=rand(10)%随机生成一个矩阵,自己改
t=sort(A(:));
[m,n]=find(A<=t(20),20);
t=[m,n]%前20个最小项在矩阵A中的位置[行,列]

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-15
subarray = a( 1 : 20 );
[ minvalue, index ] = min( subarray );
index就是你想要的了。追问

大神~~~谢谢了~~~但是我想知道的是前20个最小项的所有位置 不是第20个最小项的位置~~~大神

追答

那就得排序了,matlab自带的sort函数我记得可以输出排序后每个值在原数组的索引位置
[ result, index ] = sort( a );
result的前20个数就是数组中前20个最小的数(结果升序排列的),你取index的前20个数就是每个值对应的位置。我电脑没装matlab,sort函数应该是这样用的,不行你查查。

第2个回答  2013-09-15
用matlaB有点困难,会其他语言吗

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网