如何在matlab / octave中从给定列表中选择随机数

时间:2014-12-29 12:41:22

标签: matlab random octave

如何从给定的数据列表中选择随机数

我可以使用下面的代码创建 5个50到100之间的随机数列表但是如何让它从数据集中随机选择数字示例 dataset = [10; 20; 25; 111; 14];

amtofNumbers=5; %amount of numbers
a = 50;
b = 100;
r = (b-a).*rand(amtofNumbers,1) + a

我使用octave 3.8.1,它与matlab一起使用。

2 个答案:

答案 0 :(得分:3)

只需为数据集创建随机索引。下面我从您的数据集中选择6个随机条目:

dataset = [10;20;25;111;14];
idx = randi (numel (dataset), 6, 1)
dataset (idx)

给出:

idx =

   4
   4
   2
   5
   3
   5

dataset (idx)
ans =

   111
   111
    20
    14
    25
    14

答案 1 :(得分:2)

在Matlab(统计工具箱)中,randsample正是这样做的:

result = randsample(dataset, n, true);

其中n是所需的输出大小,true表示替换时的采样。