¿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');
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');
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
A
coinciden con la salida de rand(2,2)
cada vez que reinicia MATLAB.