Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

¿Por qué se repiten números aleatorios después del inicio?

Todas las funciones de números aleatorios, rand, randn, randi y randperm, extraen valores de un generador de números aleatorios compartido. Cada vez que inicie MATLAB®, el generador se restablece en el mismo estado. Así, un comando como rand(2,2) devuelve el mismo resultado cada vez que lo ejecute justo después del inicio. Además, cualquier script o función que llame a las funciones de números aleatorios devuelve el mismo resultado siempre que reinicia.

Si no quiere repetir los mismos arreglos de números aleatorios cuando reinicie MATLAB, ejecute el comando

rng('shuffle');
antes de llamar a rand, randn, randi o a randperm. Este comando asegura que no repita un resultado de una sesión de MATLAB anterior.

Si quiere repetir un resultado que obtuvo al inicio de una sesión de MATLAB sin reiniciar, puede restablecer el generador al estado de inicio en cualquier momento con

rng('default');
Cuando ejecuta rng('default'), los comandos de números aleatorios consiguientes devuelven resultados que coinciden con la salida de una nueva sesión de MATLAB. Por ejemplo:
rng('default');
A = rand(2,2)
A =

    0.8147    0.1270
    0.9058    0.9134
Los valores de A coinciden con la salida de rand(2,2) cada vez que reinicia MATLAB.

Consulte también