主要内容

兰迪

均匀分布伪随机整数

描述

X =兰迪(imax)返回一个伪随机标量之间的整数1imax

例子

X =兰迪(imax,n)返回一个n——- - - - - -n矩阵的伪随机整数来自间隔的离散均匀分布(1,imax]。

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

例子

X =兰迪(imax,深圳)返回一个数组向量大小的地方深圳定义了大小(X)。例如,兰迪(10 [3 - 4])返回一个3×4 1到10之间的伪随机整数数组。

例子

X =兰迪(___,typename)返回一个数组之间的伪随机整数1imax的数据类型typename。的typename输入就可以“单身”,“替身”,“int8”,“uint8”,“int16”,“uint16”,“int32”,“uint32”,或“逻辑”。您可以使用任何输入参数的前面的语法。

例子

X =兰迪(___“喜欢”,p)返回一个伪随机整数数组p;也就是说,使用相同的数据类型和复杂性(真实的或复杂的)p。您可以指定typename“喜欢”,但不能两者兼得。

例子

X =兰迪([imin,imax),___)返回一个数组,其中包含整数来自间隔的离散均匀分布(imin,imax),使用任何上述语法。

X =兰迪(年代,___)生成的整数随机数流年代而不是默认的全球流。创建一个流,使用RandStream。您可以指定年代紧随其后的任何输入参数组合在以前的语法。

例子

全部折叠

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

r =兰迪(10、5)
r =5×59 1 2 2 7 10 3 5 1 2 6 10 10 9 10 10 5 8 10 7 10 9 10 7

生成一个10-by-1列向量的均匀分布随机取样间隔的整数(5,5)

5]r =兰迪([5日,10日1)
r =10×13 4 5 1 4 2 4 1 5 5

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

s =提高;r =兰迪(10、1、5)
r =1×59 10 2 7

随机数发生器的状态恢复年代,然后创建一个新的1-by-5向量随机整数。之前的值是一样的。

rng(年代);r1 =兰迪(10、1、5)
r1 =1×59 10 2 7

创建一个3-by-2-by-3一系列均匀分布随机1和500之间的整数。

X =兰迪(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-by-4向量1和100之间的随机数的元素类型int16

r =兰迪(100,1,4,“int16”)
r =1 x4 int16行向量82 91 92
类(r)
ans = ' int16 '

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

= (3 2;2 1];深圳=大小(A);X =兰迪(深圳)
X =2×29 2 10 10

它是一种常见的模式结合前两行代码一行:

X =兰迪(10、大小(A));

创建一个2×2矩阵签署的8位整数。

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

创建一个随机的整数数组相同的大小和数据类型p

X =兰迪(10、大小(p),“喜欢”,p)
X =2 x2 int8矩阵9 2 10 10
类(X)
ans = ' int8 '

自从R2022a

生成10复杂随机整数离散均匀分布在一个方形域实部和虚部的时间间隔(5,5)

一个=兰迪(1(5,5),10日,“喜欢”1我)
一个=10×1复杂3.0000 + 4.0000我-4.0000 + 5.0000 1.0000 - 4.0000 -2.0000 -4.0000我5.0000 + 5.0000 + 1.0000 + 5.0000我5.0000 + 0.0000 3.0000 - 4.0000 -1.0000 3.0000 + 5.0000 + 5.0000我

自从R2023a

创建一个5-by-5矩阵随机逻辑值(0和1)离散均匀分布。

r =兰迪([0 1]5“逻辑”)
r =5 x5逻辑阵列1 0 0 0 1 1 0 1 0 0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1

输入参数

全部折叠

最大的整数在样本区间内,指定为一个正整数。兰迪将值均匀分布在样本区间内[1,imax]

例子:兰迪(10、5)

最小整数在样本区间内,指定为一个标量整数。

这两个iminimax必须是整数,满足iminimax

例如,兰迪([50100],5)返回一个5-by-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”,“逻辑”,或者另一个提供的类的名称兰迪万博1manbetx支持。

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

的原型创建数组,指定为一个数字或逻辑数组。

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

数据类型:||int8|int16|int32|uint8|uint16|uint32|逻辑
复数的支持:万博1manbetx是的

随机数流,指定为一个RandStream对象。

例子:s = RandStream (“dsfmt19937”);兰迪(s [5 10] 1 [3])

提示

  • 产生的序列的数字兰迪是由内部设置统一的伪随机数发生器的基础兰德,兰迪,randn。你可以控制共享随机数发生器使用rng

  • 返回的数组兰迪可以包含重复的整数值。这种行为有时被称为放回抽样。使用randperm如果你要求所有独特的价值观。

  • 如果iminimax都在这个范围之外的输出类型(如指定的吗typename或由原型p),然后兰迪首先创建区间内随机整数[imin, imax]并将产生任何超出范围的整数转换成最小或最大输出类型。例如:

    rng违约;r =兰迪(-10 [10],1 10)
    r = 7 9 8 9 3 8 5 1 10 10
    rng违约;-10 r =兰迪([10],1,10日,“逻辑”)
    r = 1×10逻辑数组1 1 0 1 1 0 0 1 1 1

扩展功能

版本历史

介绍了R2008b

全部展开