全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
16856 5
2011-07-28
如题,比如有一个100*100的矩阵A,想找出A每行最小的5个值及其位置,请问如何实现?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-7-28 11:17:31
是在matlab里吗?如果是的话,比较简单,先对每行进行排序生成一个新矩阵,比如说是B,可以确定每行最小的五个,然后用find找出这五个在矩阵A里每行的位置。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-7-28 11:59:53
谢谢,思路很好,请问具体如何matlab实现呢?一直没有编出来 2# qianjb81
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-7-28 13:34:30
745794927 发表于 2011-7-28 11:59
谢谢,思路很好,请问具体如何matlab实现呢?一直没有编出来 2# qianjb81
QQ=sort(Q,2,'ascend');QP= QQ(:,1:5);
Q是原来的矩阵。QP是你要的每行最小的1到5.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-7-28 13:38:33
chaomi 发表于 2011-7-28 13:34
745794927 发表于 2011-7-28 11:59
谢谢,思路很好,请问具体如何matlab实现呢?一直没有编出来 2# qianjb81
QQ=sort(Q,2,'ascend');QP= QQ(:,1:5);
Q是原来的矩阵。QP是你要的每行最小的1到5.
你原文还要找出位置 。
那么,加一个[QQ QC]=sort(Q,2,'ascend');QP= QQ(:,1:5);QPP=QC(:,1:5);
QPP中的每一个数字即对应原来每行的那个列(位置)。路QPP第一行第一个数字是10,代表第一行最小的数字在原来矩阵中Q中的第10个。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-11-6 21:40:15
非常感谢 对我很有用、
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群