24小时热门版块排行榜    

CyRhmU.jpeg
查看: 3988  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

希望乌托邦

新虫 (初入文坛)

[求助] matlab中如何随机不重复选取矩阵中的元素

如题,matlab中如何随机不重复选取矩阵中的元素?谢谢
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

coolslj

金虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
再设计一个矩阵S,每个元素S(i)为0表示没有被选过,为1表示被选过。
(1)随机选一个元素
(2)如果该元素的S的值为1,则跳到(1)。
(3)如果该元素的S的值为0,则选中它。
4楼2012-09-19 20:16:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

zongzhiyuan

金虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
把矩阵转换为向量,然后选一个元素,向量就剔除一个元素就行了
2楼2012-09-18 16:52:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

希望乌托邦

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by zongzhiyuan at 2012-09-18 16:52:10
把矩阵转换为向量,然后选一个元素,向量就剔除一个元素就行了

这种方法我用过了呵呵,有直接一点的方法么
3楼2012-09-19 15:42:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Medichen

铜虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
如果矩阵A是你操作的矩阵,要从矩阵A中随即不重复选取m个元素,可以这么做:
n=numel(A);%计算矩阵A包含元素的个数
temp=randperm(n,m);%从1-n个元素中随即取出m个元素,m的值由你指定
ans=A(temp);%返回A中随即不重复选取对的m个元素
笨鸟先飞!
5楼2012-09-19 23:23:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见