randi
Enteros seudoaleatorios distribuidos de manera uniforme
Sintaxis
Descripción
X = randi(
devuelve un entero escalar seudoaleatorio entre imax
)1
y imax
.
X = randi(
devuelve un arreglo de imax
,sz1,...,szN
)sz1
por ... por szN
en el que sz1,...,szN
indica el tamaño de cada dimensión. Por ejemplo, randi(10,3,4)
devuelve un arreglo de 3 por 4 de enteros seudoaleatorios entre 1 y 10.
X = randi(___,
devuelve un arreglo de enteros seudoaleatorios entre typename
)1
y imax
del tipo de datos typename
. La entrada typename
puede ser "single"
, "double"
, "int8"
, "uint8"
, "int16"
, "uint16"
, "int32"
, "uint32"
o "logical"
. Puede utilizar cualquiera de los argumentos de entrada de las sintaxis anteriores.
X = randi(
genera enteros a partir de una secuencia de números aleatorios s
,___)s
en lugar de a partir de la secuencia global predeterminada. Para crear una secuencia, utilice RandStream
. Puede especificar s
seguido de cualquiera de las combinaciones de argumentos de entrada de las sintaxis anteriores.
Ejemplos
Argumentos de entrada
Sugerencias
La secuencia de números que produce
randi
viene determinada por los ajustes internos del generador de números pseudoaleatorios uniforme que subyace arand
,randi
yrandn
. Puede controlar ese generador de números aleatorios compartido utilizandorng
.Los arreglos devueltos por
randi
pueden contener valores enteros repetidos. En ocasiones, este comportamiento se conoce como muestreo con sustitución. Utilicerandperm
si necesita que todos los valores sean únicos.Si
imin
yimax
se encuentran fuera del intervalo del tipo de salida (según la especificación detypename
o del prototipop
),randi
crea en primer lugar números enteros aleatorios en el intervalo[imin,imax]
y convierte los números enteros resultantes fuera del intervalo en el valor mínimo o máximo del tipo de salida. Por ejemplo:rng default; r = randi([-10 10],1,10)
r = 7 9 -8 9 3 -8 -5 1 10 10
rng default; r = randi([-10 10],1,10,"logical")
r = 1×10 logical array 1 1 0 1 1 0 0 1 1 1