在matlab中怎样实现从【1 2 3 4 5 6 7 8 9 10 11 12】中随机选出3个数,再从剩下的9个数中随机选出3个数,
1个回答
展开全部
>> A=1:12;
B=randperm(12);
A1=A(B(1:3));
AA=setdiff(A,A1);B2=randperm(9);
A2=AA(B2(1:3));
AAA=setdiff(AA,A2);B3=randperm(6);
A3=AAA(B3(1:3));
[A1 A2 A3]
ans =
1 6 8 3 4 11 5 7 2
B=randperm(12);
A1=A(B(1:3));
AA=setdiff(A,A1);B2=randperm(9);
A2=AA(B2(1:3));
AAA=setdiff(AA,A2);B3=randperm(6);
A3=AAA(B3(1:3));
[A1 A2 A3]
ans =
1 6 8 3 4 11 5 7 2
追问
求语句的解释!!!
追答
randperm函数相当于将一个自然数列随机重排,B相当于索引随机排列,取B的前三个,就相当于随机选出3个
setdiff是集合运算,setdiff(A,A1)就相当于A与A1的交集
A1=A(B(1:3));这个就不用解释了吧.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询