Matlab 如何从单元格数组中随机抽取样本?
我在matlab中有一个单元格数组,我需要随机采样,但是matlab中的randsample()函数似乎不适用于单元格数组。我可以使用randi()生成随机数,这很好,但是我只需要唯一的数字 是否有一个函数可以用于从单元格数组中随机采样,或者有人可以告诉我如何使用randi()生成唯一的数字Matlab 如何从单元格数组中随机抽取样本?,matlab,random,sample,Matlab,Random,Sample,我在matlab中有一个单元格数组,我需要随机采样,但是matlab中的randsample()函数似乎不适用于单元格数组。我可以使用randi()生成随机数,这很好,但是我只需要唯一的数字 是否有一个函数可以用于从单元格数组中随机采样,或者有人可以告诉我如何使用randi()生成唯一的数字 非常感谢。您可以使用randperm函数生成随机排列,而无需重复数字 例如,p=randperm(N,K)给出了K个在1和N之间唯一且不重复的数字 randperm(10,5)给了我: 9 2
非常感谢。您可以使用
randperm
函数生成随机排列,而无需重复数字
例如,p=randperm(N,K)
给出了K个在1和N之间唯一且不重复的数字
randperm(10,5)
给了我:
9 2 1 6 5
7 9 4 8 2 3 6 5 1 10
randperm(10,10)
给了我:
9 2 1 6 5
7 9 4 8 2 3 6 5 1 10
假设您有一个单元格数组
C = {'only','mad','dogs','and','englishmen','go','out','in','the','midday','sun'}
然后,您可以生成一组随机短语,而无需重复这样的标记
output=[];
for i=1:5
output = [output;sprintf('%s ',C{randperm(length(C))})];
end
这给了我一个如下的输出
out only dogs in mad englishmen sun go and midday the
in and the midday sun only englishmen out go dogs mad
out midday go in dogs and only englishmen the mad sun
the sun out mad midday englishmen go only and dogs in
midday mad sun out dogs in and go englishmen the only
您可以使用
randperm
函数生成一个随机排列,而无需重复数字
例如,p=randperm(N,K)
给出了K个在1和N之间唯一且不重复的数字
randperm(10,5)
给了我:
9 2 1 6 5
7 9 4 8 2 3 6 5 1 10
randperm(10,10)
给了我:
9 2 1 6 5
7 9 4 8 2 3 6 5 1 10
假设您有一个单元格数组
C = {'only','mad','dogs','and','englishmen','go','out','in','the','midday','sun'}
然后,您可以生成一组随机短语,而无需重复这样的标记
output=[];
for i=1:5
output = [output;sprintf('%s ',C{randperm(length(C))})];
end
这给了我一个如下的输出
out only dogs in mad englishmen sun go and midday the
in and the midday sun only englishmen out go dogs mad
out midday go in dogs and only englishmen the mad sun
the sun out mad midday englishmen go only and dogs in
midday mad sun out dogs in and go englishmen the only
randsample()
位置1:length(ceralray)
randsample()
位置1:length(ceralray)
语法方面,可以将字符串数组定义为:C={'a','b','C'}
,无需方括号。语法方面,可以将字符串数组定义为:C={'a','b','C'}
,不需要方括号。