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.

Generar números aleatorios que sean diferentes

En este ejemplo se muestra cómo evitar repetir las mismas matrices de números aleatorios al reiniciarse.MATLAB® Esta técnica es útil cuando se desea combinar los resultados de los mismos comandos de números aleatorios ejecutados diferentes sesiones.MATLAB

Todas las funciones numéricas aleatorias,,, y, dibujan los valores de un generador de números aleatorios compartido.randrandnrandirandperm Cada vez que se inicia, el generador se restablece al mismo estado.MATLAB Por lo tanto, un comando como devuelve el mismo resultado cada vez que se ejecuta inmediatamente después del inicio.rand(2,2) Además, cualquier script o función que llame a las funciones de número aleatorio devuelve el mismo resultado cada vez que se reinicia.

Una forma de obtener diferentes números aleatorios es inicializar el generador usando una semilla diferente cada vez. Si lo hace, se asegurará de que no repita los resultados de una sesión anterior.

Ejecute el comando una vez en la sesión antes de llamar a cualquiera de las funciones de número aleatorio.rng('shuffle')MATLAB

rng('shuffle')

Puede ejecutar este comando en una ventana de comandos, o puede agregarlo al archivo de inicio, que es un script especial que se ejecuta cada vez que se reinicia.MATLABMATLAB

Ahora, ejecute un comando numérico aleatorio.

A = rand(2,2); 

Cada vez que se llama, se vuelve a sellar el generador utilizando una semilla diferente basada en la hora actual.rng('shuffle')

Alternativamente, especifique diferentes semillas explícitamente. Por ejemplo,

rng(1); A = rand(2,2); rng(2); B = rand(2,2);

Matrices y son diferentes porque el generador se inicializa con una semilla diferente antes de cada llamada a la función.ABrand

Nota

La reinicialización frecuente del generador no mejora las propiedades estadísticas de la salida y no hace que la salida sea más aleatoria en ningún sentido real. La reinicialización puede ser útil cuando se reinicia o antes de ejecutar un cálculo grande que implique números aleatorios.MATLAB Sin embargo, la reinicialización del generador con demasiada frecuencia dentro de una sesión no es una buena idea porque las propiedades estadísticas de sus números aleatorios pueden verse afectadas negativamente.

Consulte también

Ejemplos relacionados

Más acerca de