MATLAB 帮助中心
本页翻译不是最新的。点击此处可查看最新英文版本。
整数的随机排列
p = randperm(n)
p = randperm(n,k)
p = randperm(s,___)
p = randperm(n) 返回行向量,其中包含从 1 到 n 没有重复元素的整数随机排列。
n
示例
p = randperm(n,k) 返回行向量,其中包含在 1 到 n 之间随机选择的 k 个唯一整数。
k
p = randperm(s,___) 从随机数流 s 而不是默认全局流生成整数的随机排列。要创建一个流,请使用 RandStream。指定 s,后跟上述语法中的任何参量组合。
s
RandStream
全部折叠
生成一个从 1 到 6 的整数的随机排列。randperm 的输入指示采样间隔中的最大整数(采样区间中的最小整数为 1)。
randperm
r = randperm(6)
r = 1×6 6 3 5 1 2 4
生成一个从整数 1 到 8 中随机选择的四个唯一整数(没有重复元素)的随机排列。
r1 = randperm(8,4)
r1 = 1×4 6 4 7 3
生成四个唯一整数的另一个随机排列。
r2 = randperm(8,4)
r2 = 1×4 8 7 5 4
保存随机数生成器的当前状态,并创建一个从 1 到 8 的整数的随机排列。
s = rng; r = randperm(8)
r = 1×8 6 3 7 8 5 1 2 4
将随机数生成器的状态恢复为 s,然后创建由从 1 到 8 的整数组成的新随机排列。排列和以前一样。
rng(s) r1 = randperm(8)
r1 = 1×8 6 3 7 8 5 1 2 4
您可以使用 rng 函数来指定随机数生成器的设置。
rng
采样间隔中的整数数量,指定为正整数。randperm 排列从 1 到 n(包括二者)的整数值。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
single
double
int8
int16
int32
int64
uint8
uint16
uint32
uint64
所选整数的数量,指定为正整数。k 还必须小于或等于 n。
随机数流,指定为 RandStream 对象。
示例: s = RandStream('dsfmt19937'); randperm(s,10)
s = RandStream('dsfmt19937'); randperm(s,10)
randperm 的基础数字生成器是伪随机数生成器,它创建一个看似随机的确定性数字序列。如果生成器的种子和确定性算法已知,则这些数字可预测。虽然并非真正随机,但生成的数字能够通过各种随机性统计检验,满足独立同分布 (i.i.d.) 条件,因此伪随机名副其实。
randperm 生成的数字序列由均匀伪随机数生成器的内部设置决定,该生成器是 rand、randi、randn 和 randperm 的基础。要控制共享随机数生成器,请使用 rng 函数。
rand
randi
randn
randperm 返回的数组包含不重复整数值的整数排列。此行为有时称为无放回抽样。如果需要重复值,请使用 randi 函数。
randperm(n) 和 randperm(n,n) 通过都生成整数 1 到 n 的排列,但它们可以在排列中给出不同随机顺序。对于大数字 n,randperm(n,n) 比 randperm(n) 更快。
randperm(n)
randperm(n,n)
全部展开
randperm 函数支持 GPU 数组输入,但有以下用法说明和限制:
要在 GPU 上运行只有一个输入的语法,请使用 p = gpuArray.randperm(n)。
p = gpuArray.randperm(n)
不支持双输入语法 randperm(n,k)。
randperm(n,k)
要使用流语法 randperm(s,___),在 GPU 上 s 必须为 parallel.gpu.RandStream (Parallel Computing Toolbox) 对象。
randperm(s,___)
parallel.gpu.RandStream
有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
在 R2006a 之前推出
permute | nchoosek | randi | perms | rng
permute
nchoosek
perms
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处