主要内容

兰迪

均匀分布的伪随机整数

描述

x = randi(IMAX.返回伪随机标量整数1IMAX.

例子

x = randi(IMAX.N返回A.N-经过-N从离散均匀分布绘制的伪随机整数的矩阵[1IMAX.]。

例子

x = randi(IMAX.sz1,...,szn返回A.SZ1.-By -...-SZN.阵列在哪里sz1,...,szn表示每个维度的大小。例如,兰迪(10,3,4)返回1到10之间的3乘4个伪随机整数。

例子

x = randi(IMAX.SZ.返回大小向量的数组SZ.定义尺寸(x)。例如,兰迪(10,[3,4])返回1到10之间的3乘4个伪随机整数。

x = randi(IMAX.班级名称返回伪随机整数在哪里班级名称指定数据类型。班级名称'单身的''双倍的''int8''uint8''int16''uint16''int32', 或者'uint32'

x = randi(IMAX.N班级名称返回A.N-经过-N数据类型数组班级名称

例子

x = randi(IMAX.sz1,...,szn班级名称返回A.SZ1.-By -...-SZN.数据类型数组班级名称

x = randi(IMAX.SZ.班级名称返回大小向量的数组SZ.定义尺寸(x)班级名称定义类(x)

x = randi(IMAX.,'喜欢',P.返回伪随机整数P.;也就是说,具有相同的数据类型(类)。

x = randi(IMAX.N,'喜欢',P.返回A.N-经过-N数组喜欢P.

x = randi(IMAX.sz1,...,szn,'喜欢',P.返回A.SZ1.-By -...-SZN.数组喜欢P.

例子

x = randi(IMAX.SZ.,'喜欢',P.返回一个数组P.尺寸矢量SZ.定义尺寸(x)

x = randi([算我一个IMAX.],___返回包含从间隔内的离散统一分布中汲取的整数的数组[算我一个IMAX.],使用上述任何语法。

x = randi(S.___从随机数流生成整数S.而不是默认的全局流。要创建流,使用randstream.。指定S.后跟以前的语法中的任何参数组合,除了涉及的语法'喜欢'。此语法不支持该语法万博1manbetx'喜欢'输入。

例子

全部收缩

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

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

从采样间隔生成一个10×1列向量的均匀分布的随机整数[-5,5]

r = randi([ -  5,5],10,1)
r =10×13 4 -4 5 1 -4 -2 -2 1 5 5

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

s = RNG;r = randi(10,1,5)
r =1×59 10 2 10 7

恢复随机数发生器的状态S.,然后创建一个新的一个随机整数向量矢量。值与以前相同。

RNG;r1 = randi(10,1,5)
R1 =1×59 10 2 10 7

始终使用RNG.功能(而不是兰特或者兰德函数)指定随机数生成器的设置。有关更多信息,请参阅替换兰德和randn的气馁的语法

在1到500之间创建一个3×2×3阵列的均匀分布式随机整数。

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

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

r = randi(100,1,4,'int16'
r =1x4 int16行向量82 91 13 92
班级(r)
ans ='int16'

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

a = [3 2;-2 1];sz =尺寸(a);X = RANDI(10,SZ)
X =2×29 2 10 10

将前一行代码组合成单行是一种常见的模式:

x = randi(10,尺寸(a));

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

p = int8([3 2; -2 1]);

创建与大小和数据类型相同的随机整数数组P.

x = randi(10,尺寸(p),'喜欢',p)
X =2x2 INT8矩阵9 2 10 10
类(x)
ans ='int8'

输入参数

全部收缩

采样间隔中最大的整数,指定为正整数。兰迪从采样间隔中的均匀分布绘制值[1,IMAX]

例子:兰迪(10,5)

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

两个都算我一个IMAX.必须是满足的整数算我一个≤.IMAX.

例如,兰迪([50,100],5)在(和包括)50和100之间返回5×5的随机整数矩阵。

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

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

  • 如果N是消极的,然后被视为0.

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64

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

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

  • 如果任何尺寸的大小是负的,那么它被视为0.

  • 超出第二个维度,兰迪忽略尺寸为1的尾随尺寸,例如,兰迪([5,10],3,1,1,1)在5到10之间产生3乘1的随机整数向量。

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64

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

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

  • 如果任何尺寸的大小是负的,那么它被视为0.

  • 超出第二个维度,兰迪忽略尺寸为1的尾随尺寸,例如,Randi([5,10],[3 1 1])在5到10之间产生3乘1的随机整数向量。

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64

输出类,指定为'双倍的''单身的''int8''uint8''int16''uint16''int32''uint32',或提供的另一个类的名称兰迪万博1manbetx支持。

例子:兰迪(5,5,'Int8')

数据类型:char

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

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

数据类型:单身的|双倍的|INT8.|int16|INT32.|uint8.|uint16|UINT32.

随机数流,指定为arandstream.目的。

例子:s = randstream('dsfmt19937');兰迪(S,[5,10],[3 1])

尖端

  • 由此产生的数字序列兰迪由均匀伪随机数发电机的内部设置决定兰特兰迪, 和兰德。您可以使用使用的共享随机数生成器来控制RNG.

  • 阵列返回兰迪可能包含重复的整数值。此行为有时被称为采样与替换。用兰培姆如果您需要所有唯一值。

扩展能力

在R2008B中介绍