Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

randn

Números aleatorios normalmente distribuidos

Descripción

ejemplo

X = randn devuelve un escalar aleatorio dibujado de la distribución normal estándar.

ejemplo

X = randn(n) devuelve una matriz n-by-n de números aleatorios normalmente distribuidos.

ejemplo

X = randn(sz1,...,szN) devuelve un conjunto sz1-by-...-by-szN matriz de números aleatorios donde sz1,...,szN indican el tamaño de cada dimensión. Por ejemplo, randn(3,4) devuelve una matriz de 3 por 4.

ejemplo

X = randn(sz) devuelve una matriz de números aleatorios donde size vector sz define size(X). Por ejemplo, randn([3 4]) devuelve una matriz de 3 por 4.

ejemplo

X = randn(___,typename) devuelve una matriz de números aleatorios de tipo de datos typename. La entrada typename puede ser 'single' o 'double'. Puede utilizar cualquiera de los argumentos de entrada en las sintaxis anteriores.

ejemplo

X = randn(___,'like',p) devuelve una matriz de números aleatorios como p; es el mismo tipo de objeto que p. Puede especificar typename o 'like', pero no ambos.

Nota

No se recomiendan las entradas 'seed', 'state'y 'twister' a la función randn . En su lugar, utilice la función rng . Para obtener más información, vea Reemplazar Syntaxes desalentados de Rand y randn.

Ejemplos

contraer todo

Genere una matriz de 5 por 5 de números aleatorios normalmente distribuidos.

r = randn(5)
r = 5×5

    0.5377   -1.3077   -1.3499   -0.2050    0.6715
    1.8339   -0.4336    3.0349   -0.1241   -1.2075
   -2.2588    0.3426    0.7254    1.4897    0.7172
    0.8622    3.5784   -0.0631    1.4090    1.6302
    0.3188    2.7694    0.7147    1.4172    0.4889

Generar valores a partir de una distribución normal bivariada con matriz de vector media y covarianza especificada.

mu = [1 2];
sigma = [1 0.5; 0.5 2];
R = chol(sigma);
z = repmat(mu,10,1) + randn(10,2)*R
z = 10×2

    1.5377    0.4831
    2.8339    6.9318
   -1.2588    1.8302
    1.8622    2.3477
    1.3188    3.1049
   -0.3077    1.0750
    0.5664    1.6190
    1.3426    4.1420
    4.5784    5.6532
    3.7694    5.2595

Genere un solo número complejo aleatorio con partes reales y imaginarias distribuidas normalmente.

a = randn + 1i*randn
a = 0.5377 + 1.8339i

Guarde el estado actual del generador de números aleatorios y cree un vector 1 por 5 de número aleatorio.

s = rng;
r = randn(1,5)
r = 1×5

    0.5377    1.8339   -2.2588    0.8622    0.3188

Restaure el estado del generador de números aleatorios a sy, a continuación, cree un nuevo vector 1 por 5 de números aleatorios. Los valores son los mismos que antes.

rng(s);
r1 = randn(1,5)
r1 = 1×5

    0.5377    1.8339   -2.2588    0.8622    0.3188

Utilice siempre la función rng (en lugar de las funciones rand o randn ) para especificar la configuración del generador de números aleatorios. Para obtener más información, vea Reemplazar Syntaxes desalentados de Rand y randn.

Cree una matriz de números aleatorios de 3 por 2 por 3.

X = randn([3,2,3])
X = 
X(:,:,1) =

    0.5377    0.8622
    1.8339    0.3188
   -2.2588   -1.3077


X(:,:,2) =

   -0.4336    2.7694
    0.3426   -1.3499
    3.5784    3.0349


X(:,:,3) =

    0.7254   -0.2050
   -0.0631   -0.1241
    0.7147    1.4897

Crear un vector 1 por 4 de números aleatorios cuyos elementos son de precisión única.

r = randn(1,4,'single')
r = 1x4 single row vector

    0.5377    1.8339   -2.2588    0.8622

class(r)
ans = 
'single'

Cree una matriz de números aleatorios normalmente distribuidos con el mismo tamaño que una matriz existente.

A = [3 2; -2 1];
sz = size(A);
X = randn(sz)
X = 2×2

    0.5377   -2.2588
    1.8339    0.8622

Es un patrón común para combinar las dos líneas anteriores de código en una sola línea:

X = randn(size(A));

Cree una matriz de 2 por 2 de números aleatorios de precisión simple.

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

Cree una matriz de números aleatorios que tenga el mismo tamaño y tipo de datos que p.

X = randn(size(p),'like',p)
X = 2x2 single matrix

    0.5377   -2.2588
    1.8339    0.8622

class(X)
ans = 
'single'

Si tiene Parallel Computing Toolbox™ , cree una matriz distribuida 1000-by-1000 de números aleatorios con el tipo de datos subyacente single. Para el tipo de datos distributed , la sintaxis 'like' clona el tipo de datos subyacente además del tipo de datos primario.

p = randn(1000,'single','distributed');
Starting parallel pool (parpool) using the 'local' profile ...
connected to 6 workers.

Cree una matriz de números aleatorios con el mismo tamaño, tipo de datos primario y tipo de datos subyacentes como p.

X = randn(size(p),'like',p);
class(X)
ans =

distributed
classUnderlying(X)
ans =
single

Argumentos de entrada

contraer todo

Tamaño de la matriz cuadrada, especificada como un valor entero.

  • Si n es 0, X es una matriz vacía.

  • Si n es negativo, se trata como 0.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Tamaño de cada dimensión, especificada como argumentos independientes de valores enteros.

  • Si el tamaño de cualquier dimensión es 0, X es una matriz vacía.

  • Si el tamaño de cualquier dimensión es negativo, se trata como 0.

  • Más allá de la segunda dimensión, randn omite las cotas de arrastre con un tamaño de 1. Por ejemplo, randn(3,1,1,1) produce un vector 3 por 1 de números aleatorios.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Tamaño de cada dimensión, especificada como un vector de fila de valores enteros. Cada elemento de este vector indica el tamaño de la dimensión correspondiente:

  • Si el tamaño de cualquier dimensión es 0, X es una matriz vacía.

  • Si el tamaño de cualquier dimensión es negativo, se trata como 0.

  • Más allá de la segunda dimensión, randn omite las cotas de arrastre con un tamaño de 1. Por ejemplo, randn([3,1,1,1]) produce un vector 3 por 1 de números aleatorios.

Ejemplo: sz = [2,3,4] crea un arreglo de discos de 2 por 3 por 4.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Tipo de datos (clase) que se crea, especificado como 'double', 'single'o el nombre de otra clase que proporciona compatibilidad con randn .

Ejemplo: randn(5,'single')

Prototipo de Array para crear, especificado como un array numérico.

Ejemplo: randn(5,'like',p)

Tipos de datos: single | double
Soporte de números complejos:

Sugerencias

  • La secuencia de números producida por randn se determina mediante la configuración interna del generador de números de pseudoaleatorio uniforme que subyace a rand, randiy randn . Puede controlar ese generador de números aleatorios compartidos mediante rng.

Capacidades ampliadas

Introducido antes de R2006a