weixin_58006528 2021-08-14 17:50 采纳率: 0%
浏览 637

matlab从数组中随机取值并把抽取过的值删去

你好
我想从q1这个矩阵里每次取出不同的项,我这样写的话可能会得到重复的值,这个可以怎么解决

S_1= unidrnd(30);
q1= randperm(30,S_1);
for i =1:numel(q1)
    R=1:3;
    random_num1 = R(randperm(numel(R),1));
    random_num2 = q1(randperm(numel(q1),1));
    e(1,:)=[random_num1 random_num2];
    E1(i,:)=e(1,:);
end

  • 写回答

1条回答 默认 最新

  • CSDN专家-Matlab_Fans 2021-08-15 13:11
    关注

    提供一个思路:
    矩阵A用于存储待抽取的元素,ind表示随机抽取数据的下标,A(ind)表示随机抽取出来的数据。每次抽取后更新A,更新方法为:

    A = setdiff( A , A(ind) )    % 通过集合做差方式,去除已经抽取的元素
    
    评论

报告相同问题?

问题事件

  • 创建了问题 8月14日

悬赏问题

  • ¥15 ensp的问题(需要各个路由器命令)
  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?
  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改
  • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
  • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?
  • ¥40 串口调试助手打开串口后,keil5的代码就停止了
  • ¥15 电脑最近经常蓝屏,求大家看看哪的问题