MATLAB 在一个数组中随机选择n个数

MATLAB 中在一个数组内随机选择n个数。

例如:在 A = [10, 50, 80, 100, 130, 260] 中随机选择5个数。

允许重复:

n = 5;
A = [10, 50, 80, 100, 130, 260];
random_num = A(randi(numel(A),1,n));
random_num = sort(random_num);

不允许重复:

n = 5;
A = [10, 50, 80, 100, 130, 260];
random_num = A(randperm(numel(A),n));
random_num = sort(random_num);

欢迎访问我的个人网站:

李培冠博客:lpgit.com

  • 30
    点赞
  • 143
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
### 回答1: 可以使用Matlab内置函randperm(n)生成1到n的随机排列,然后取第一个即可。示例代码如下: ``` n = 10; %组长度为10 arr = 1:n; %生成组 rand_index = randperm(n,1); %生成1到n的随机排列并取第一个 rand_num = arr(rand_index); %取出随机 ``` 这段代码中,randperm(n,1)表示生成1到n的随机排列并取第一个,arr(rand_index)表示从组arr中取出随机。 ### 回答2: 在MATLAB中,我们可以使用以下方法在数组中随机选择一个: 1. 使用randi函生成一个随机,该整位于指定的范围内。例如,如果我们有一个组a,想要从中随机选择一个,可以使用以下代码: ```matlab randomIndex = randi([1, length(a)]); % 生成1到组长度之间的随机 randomNumber = a(randomIndex); % 根据随机获取对应位置上的值 ``` 2. 如果数组中的元素是字范围(例如1至10)或均匀间隔的字序列,我们可以使用randperm函生成一个随机排列,并选择一个元素作为随机选择。例如,如果我们想要在1至10之间随机选择一个,可以使用以下代码: ```matlab randomIndex = randperm(10, 1); % 生成1到10之间的随机排列,并选择一个元素 randomNumber = a(randomIndex); % 根据随机获取对应位置上的值 ``` 这些方法可以帮助我们在MATLAB中实现在数组中随机选择一个的功能。 ### 回答3: 在MATLAB中,可以使用randi函来实现在数组中随机选取一个。下面是具体的步骤: 首先,创建一个组,可以使用linspace或者randi函来生成一个包含一定范围的随机。例如,使用linspace函生成一个从1到10的整组。 arr = linspace(1, 10, 10); 然后,使用randi函来生成一个随机索引,该索引将用于从数组中选择一个。 randomIndex = randi([1, length(arr)]); 最后,通过索引从数组中选择一个,并将其赋值给一个变量。 randomNumber = arr(randomIndex); 现在,变量randomNumber中存储了从组arr中随机选择一个。 可以重复以上步骤,每次运行时都会得到不同的随机。 如此,MATLAB就可以实现在数组中随机选择一个的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李培冠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值