主要内容

兰迪

均匀分布伪随机整数

描述

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深圳返回一个大小为vector的数组深圳定义了大小(X).例如,兰迪(10 [3 - 4])返回1到10之间的伪随机整数的3 × 4数组。

例子

X = randi(___typename返回之间的伪随机整数数组1而且imax数据类型的typename.的typename输入可以是“单身”“替身”“int8”“uint8”“int16”“uint16”“int32”,或“uint32”.您可以使用前面语法中的任何输入参数。

例子

X = randi(___“喜欢”,p返回一个伪随机整数数组,如p;也就是说,具有相同的数据类型和复杂性(真实或复杂)p.你可以指定typename“喜欢”,但不是两者都有。

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

X = randi(年代___从随机数流生成整数年代而不是默认的全局流。要创建流,使用RandStream.你可以指定年代后面跟着以前语法中的任何输入参数组合。

例子

全部折叠

生成一个5乘5的矩阵,由1到10之间的随机整数组成。第一个输入兰迪采样间隔中最大的整数(间隔中最小的整数为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 1 5 5

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

S = rng;R = randi(10,1,5)
r =1×59 10 2 10

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

rng(年代);R1 = randi(10,1,5)
r1 =1×59 10 2 10

创建一个由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的向量,其中包含1到100之间的随机数,其元素为类型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 = size(A);X = randi(10,sz)
X =2×29 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 =2x2 int8矩阵9 2 10 10
类(X)
Ans = 'int8'

从间隔中有实部和虚部的正方形域上的离散均匀分布生成10个随机复整数(5, 5)

A = randi([-5,5],10,1,“喜欢”1我)
一个=10×1复杂3.0000 + 4.0000i -4.0000 + 5.0000i 1.0000 - 4.0000i -2.0000 + 1.0000i 5.0000 -4.0000 + 5.0000i 5.0000 + 0.0000i 3.0000 - 4.0000i -1.0000 + 5.0000i 3.0000 + 5.0000i

输入参数

全部折叠

采样间隔中最大的整数,指定为正整数。兰迪从样本区间内的均匀分布中绘制值[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的尾随维度。例如,Randi ([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是的

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

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

提示

  • 产生的数字序列兰迪是由统一伪随机数生成器的内部设置决定的吗兰德兰迪,randn.您可以使用rng

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

扩展功能

版本历史

在R2008b中引入

全部展开