文档

兰迪

均匀分布伪随机整数

语法

X = randi(imax)
X = randi(imax,n)
X = randi(imax,sz1,…,szN)
X = randi(imax,sz)
X = randi(imax,classname)
X = randi(imax,n,classname)
X = randi(imax,sz1,…,szN,classname)
X = randi(imax,sz,classname)
X = randi(imax,'like',p)
X = randi(imax,n,'like',p)
X = randi(imax,sz1,…,szN,'like',p)
X = randi(imax,sz,'like',p)
X = randi([imin,imax],___

描述

X = randi(imax之间返回一个伪随机标量整数1而且imax

例子

X = randi(imaxn返回一个n——- - - - - -n区间[上的离散均匀分布得到的伪随机整数矩阵1imax]。

例子

X = randi(imaxsz1,…,szN返回一个sz1——-…——-szN数组,sz1,…,szN指示每个维度的大小。例如,兰迪(10、3、4)返回1到10之间的3 × 4伪随机整数数组。

例子

X = randi(imax深圳返回一个数组,其中size vector深圳定义了大小(X).例如,兰迪(10,[3,4])返回1到10之间的3 × 4伪随机整数数组。

X = randi(imax类名称返回一个伪随机整数类名称指定数据类型。类名称可以“单一”“双”“int8”“uint8”“int16”“uint16”“int32”,或“uint32”

X = randi(imaxn类名称返回一个n——- - - - - -n数据类型数组类名称

例子

X = randi(imaxsz1,…,szN类名称返回一个sz1——-…——-szN数据类型数组类名称

X = randi(imax深圳类名称返回一个数组,其中size vector深圳定义了大小(X)而且类名称定义了类(X)

X = randi(imax“喜欢”,p返回一个伪随机整数,如p;也就是说,使用相同的数据类型(类)。

X = randi(imaxn“喜欢”,p返回一个n——- - - - - -n数组一样p

X = randi(imaxsz1,…,szN“喜欢”,p返回一个sz1——-…——-szN数组一样p

例子

X = randi(imax深圳“喜欢”,p返回如下数组p其中size向量深圳定义了大小(X)

X = randi([iminimax),___返回一个数组,该数组包含从间隔[上的离散均匀分布中提取的整数。iminimax,使用上述任何语法。

例子

全部折叠

生成1到10之间的随机整数的5 × 5矩阵。第一个输入兰迪采样间隔中最大的整数(采样间隔中最小的整数为1)。

R = randi(10,5)
r =9 1 2 2 7 10 3 10 5 1 2 6 10 10 9 10 10 5 8 10 7 10 9 10 10 7

从样本区间生成一个10 × 1的均匀分布随机整数列向量(5, 5)

R = randi([-5,5],10,1)
r =3 4 -4 5 1 -4 -2 1 5 5

保存随机数生成器的当前状态,并创建一个1 × 5的随机整数向量。

S = rng;R = randi(10,1,5)
r =7 .答案:b

将随机数生成器的状态恢复为年代,然后创建一个新的1 × 5随机整数向量。值和以前一样。

rng(年代);R1 = randi(10,1,5)
r1 =7 .答案:b

总是使用rng函数(而不是兰德randn函数)来指定随机数生成器的设置。有关更多信息,请参见替换rand和randn的泄气语法

创建一个3 × 2 × 3的数组,数组中均匀分布的随机整数在1到500之间。

X = randi(500,[3,2,3])
X = (:,:,1) = 408 457 453 317 64 49 (:,:,2) = 140 483 274 79 479 486 (:,:,3) = 479 71 243 211 401 458

创建一个1 × 4的随机数向量,其元素类型为int16

R = randi(100,1,4,“int16”
r =1×4 int16行向量82 91 13 92
类(r)
Ans = 'int16'

创建一个1到10之间均匀分布的随机整数矩阵,其大小与现有数组相同。

A = [3 2;2 1];sz = size(A);X = randi(10,sz)
X =9 2 10 10

将前两行代码合并为一行是一种常见的模式:

X = randi(10,size(A));

创建一个8位有符号整数的2 × 2矩阵。

P = int8([3 2;2 1]);

创建一个随机整数数组,其大小和数据类型与p

X = randi(10,size(p),“喜欢”, p)
X =2×2 int8矩阵9 2 10 10
类(X)
Ans = 'int8'

输入参数

全部折叠

样本间隔中最大的整数,指定为正整数。兰迪从样本区间内的均匀分布中提取值[1, imax]

例子:兰迪(10、5)

样本间隔中最小的整数,指定为标量整数。

这两个imin而且imax必须是满足iminimax

例如,兰迪([50100],5)返回一个5 × 5矩阵,由50到100之间的随机整数组成。

方阵的大小,指定为整数值。

  • 如果n0,然后X是一个空矩阵。

  • 如果n是负的,那么它被当作0

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

每个维度的大小,指定为单独的整数值参数。

  • 如果任何维度的大小是0,然后X是一个空数组。

  • 如果任何维度的大小为负数,则将其视为0

  • 在二次元之外,兰迪忽略大小为1的尾随维度。例如,兰迪([5 10]3 1,1,1)生成一个3 × 1的5到10之间的随机整数向量。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

每个维度的大小,指定为整数值的行向量。这个向量的每个元素都表示对应维度的大小:

  • 如果任何维度的大小是0,然后X是一个空数组。

  • 如果任何维度的大小为负数,则将其视为0

  • 在二次元之外,兰迪忽略大小为1的尾随维度。例如,兰迪([5 10],[3,1,1,1])生成一个3 × 1的5到10之间的随机整数向量。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

输出类,指定为“双”“单一”“int8”“uint8”“int16”“uint16”“int32”“uint32”,或者另一个类的名称兰迪金宝app支持。

例子:兰迪(5 5“int8”)

数据类型:字符

要创建的数组原型,指定为数值数组。

例子:兰迪(5 5‘喜欢’,p)

数据类型:||int8|int16|int32|uint8|uint16|uint32
复数支持:金宝app是的

提示

  • 由…产生的数字序列兰迪是由底层的均匀伪随机数生成器的内部设置决定的吗兰德兰迪,randn.您可以使用。来控制共享随机数生成器rng

  • 返回的数组兰迪可能包含重复的整数值。这种行为有时称为带替换的抽样。使用randperm如果需要所有唯一值。

扩展功能

在R2008b中引入

这个话题有帮助吗?