如何从 matlab / 八度的给定列表中选择随机数



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

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

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

我正在使用与 matlab 一起使用的八度 3.8.1 .

只需为数据集创建一个随机索引。下面我从您的数据集中选择 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

在 Matlab(Statistics Toolbox)中,randsample 正是这样做的:

result = randsample(dataset, n, true);

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

最新更新