主要内容

兰迪

均匀分布的伪随机整数

描述

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

例子

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

例子

x = randi(IMAX.sz1,...,szn返回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班级名称返回N-经过-N数据类型数组班级名称

例子

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

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

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

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

x = randi(IMAX.sz1,...,szn,'喜欢',P.返回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 =兰迪(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 =兰迪([ -  5,5],10,1)
r =10×13 4 -4 5 1 -4 -2 -2 1 5 5

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

S = RNG;R =兰迪(10,1,5)
r =1×59 10 2 10 7

恢复随机数生成器的状态S.,然后创建随机整数的一个新的1×5载体。该值是和以前一样。

RNG(一个或多个);R1 =兰迪(10,1,5)
R1 =1×59 10 2 10 7

始终使用RNG.功能(而不是兰特或者randn函数)指定随机数生成器的设置。有关更多信息,请参阅更换兰特和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 =兰迪(100,1,4,'INT16'
r =1x4 int16行向量82 91 13 92
类(R)
ANS = 'INT16'

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

A = [3 2;-2 1];SZ =尺寸(A);X =兰迪(10,SZ)
X =2×29 2 10 10

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

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

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

P = INT8([3 2 -2 1]);

创建随机整数的数组,它是相同的大小和数据类型如P.

X =兰迪(10,大小(P),'喜欢',p)的
X =2×2矩阵INT89 2 10 10
类(x)
ans ='int8'

输入参数

全部收缩

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

例子:兰迪(10,5)

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

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

例如,兰迪([50100],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])

提示

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

  • 通过返回的数组兰迪可能包含重复的整数值。此行为是有时被称为与更换采样。用randperm如果您需要所有唯一值。

扩展功能

在R2008B中介绍