Matlab creates same input values every time? Why?
Mostrar comentarios más antiguos
Hi everybody,
I'm creating processing times as follows:
function [ processing_times ] = PT( number_of_activity )
number_of_activity = 12;
min= 100;
max = 2500;
processing_times = randi([min max],1,number_of_activity)';
end
When I run this code, I obtain 12x1 matrix as follows:
1481
1372
760
696
1184
646
2031
2467
172
1386
309
2025
After that, I quit the Matlab and open it again.
I run the same code and I obtain the same 12x1 matrix. This is possible? I use
randi([min max],1,number_of_activity)'
code. This code includes randomness. How can I obtain the exactly same value when every time I close and reopen the Matlab. Shouldn't the Matlab give me different values every time I open and close it?
I use Matlab 2015a and I ran this code in 2023a but I encountered the same problem again.
Respuesta aceptada
Más respuestas (3)
Karl Cronburg
el 26 de Sept. de 2023
Editada: Karl Cronburg
el 26 de Sept. de 2023
You can get a random seed based on the current operating system time with the rng function:
rng("shuffle");
See the doc page here: https://www.mathworks.com/help/matlab/ref/rng.html
1 comentario
Abdullah Türk
el 26 de Sept. de 2023
Walter Roberson
el 26 de Sept. de 2023
1 voto
Every time you load matlab, it does the equivalent of rng('default') which initializes the seed to 0.
It is expected that the random number order is the same starting from the beginning of each MATLAB session.
Caution: although you can use rng('shuffle') to initialize the seed based on the current time, doing so is not considered secure. Do not use it for producing seeds for cryptographic communications, or for producing seeds for drawing lottery numbers. Creating good seeds for secure purposes is hard
Steven Lord
el 26 de Sept. de 2023
1 voto
Others have told you how to get the numbers to not repeat after startup. But to answer your "Why?" question, this is expected behavior. See this documentation page that explains why this happens.
1 comentario
Abdullah Türk
el 26 de Sept. de 2023
Categorías
Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!