Main Content

randsample

随机样本

说明

y = randsample(n,k) 返回从整数 1n 中无放回随机均匀抽取的 k 个值。

示例

y = randsample(population,k) 返回一个向量,其中包含从向量 population 的值中无放回随机均匀抽取的 k 个值。

示例

y = randsample(___,replacement)replacementtrue 时返回一个有放回抽取的样本,在 replacementfalse 时返回一个无放回抽取的样本。您可以在上述任一语法中的输入参量组合之后指定 replacement

示例

y = randsample(n,k,true,w) 使用长度为 n 的非负权重向量 w 来确定整数 i 被选为 y 的输入项的概率。

y = randsample(population,k,true,w) 使用与向量 population 长度相同的非负权重向量 w 来确定值 population(i) 被选为 y 的输入项的概率。

示例

y = randsample(s,___) 使用流 s 来生成随机数。选项 s 可以位于上述任一语法中的输入参量之前。sRandStream 类的成员。

示例

示例

全部折叠

从整数 110 中抽取一个值。

n = 10;
x = randsample(n,1)
x = 
9

创建随机种子以实现结果的可再现性。

s = RandStream('mlfg6331_64'); 

从向量 [10:20] 中抽取一个值。

population = 10:20;
y = randsample(s,population,1)
y = 
17

创建随机数流以实现可再现性。

s = RandStream('mlfg6331_64');

根据指定的概率,从序列 ACGT 中有放回地随机选择 48 个字符。

R = randsample(s,'ACGT',48,true,[0.15 0.35 0.35 0.15])
R = 
'GGCGGCGCAAGGCGCCGGACCTGGCTGCACGCCGTTCCCTGCTACTCG'

创建随机数流以实现可再现性。

s = RandStream('mlfg6331_64'); 

从整数 1:10 中有放回地抽取五个值。

y = randsample(s,10,5,true)
y = 5×1

     7
     8
     5
     7
     8

输入参数

全部折叠

抽样范围(1n)的上限,指定为正整数。默认情况下,randsample1n 范围内的值中无放回随机均匀抽样。

数据类型: single | double

要抽样的输入数据,指定为向量。默认情况下,randsamplepopulation 的值中无放回随机均匀抽样。y 的方向(行或列)与 population 的方向相同。

如果 population 是仅包含非负整数值的数值向量,而 population 的长度可以是 1,则使用 y = population(randsample(length(population),k))y = datasample(population,k,'Replace',false) 而不是 y = randsample(population,k)

示例: y = randsample([50:100],20) 返回一个向量,其中包含从 population 向量(由整数 50100 组成)中无放回随机均匀抽取的 20 个值。

数据类型: single | double | logical | char | string | categorical

样本数量,指定为正整数。

示例: randsample(20,10) 返回一个向量,其中包含从整数 120 中无放回随机均匀抽取的 10 个值。

数据类型: single | double

有放回抽样的指示符,指定为 falsetrue

示例: randsample(10,2,true) 返回从整数 110 中有放回抽取的两个值。

数据类型: logical

抽样权重,指定为非负标量值向量。w 的长度必须等于要抽样的整数范围或 population 的长度。向量 w 必须有至少一个正值。如果 w 包含负值或 NaN 值,randsample 将显示一条错误消息。randsample 函数以与 w(i)/sum(w) 成正比的概率进行抽样。通常,w 是概率向量。randsample 函数仅支持为有放回抽样指定权重。

示例: [0.1 0.5 0.35 0.46]

数据类型: single | double

随机数流,指定为 MATLAB 默认随机数流或 RandStream。有关详细信息,请参阅 创建和控制随机数流

示例: s = RandStream('mlfg6331_64') 使用乘法滞后斐波那契生成器算法创建随机数流。

输出参量

全部折叠

样本,以向量或标量形式返回。

  • 如果 k = 1,则 y 是标量。

  • 如果 k > 1,则 yk×1 向量。

替代功能

要对数据进行随机抽样,无论是有放回还是无放回,请使用 datasample

扩展功能

版本历史记录

在 R2006a 之前推出