Все функции случайных чисел, rand
randn
randi
, и randperm
, чертите значения от разделяемого генератора случайных чисел. Каждый раз, когда вы запускаете MATLAB®, генератор сбрасывает себя к тому же состоянию. Поэтому команда, такая как rand(2,2)
возвращает тот же результат любое время, вы выполняете его сразу после запуска. Кроме того, любой скрипт или функция, которая вызывает функции случайных чисел, возвращают тот же результат каждый раз, когда вы перезапускаете.
Если вы не хотите повторять те же массивы случайных чисел, когда MATLAB перезапускает, то выполните команду,
rng('shuffle');
rand
randn
randi
, или randperm
. Эта команда гарантирует, что вы не повторяете результат предыдущего сеанса работы с MATLAB.Если вы хотите повторить результат, который вы получили в начале сеанса работы с MATLAB без перезапуска, можно сбросить генератор к состоянию запуска в любое время с помощью
rng('default');
rng('default')
, следующие команды случайных чисел возвращают результаты, которые совпадают с выходом нового сеанса работы с MATLAB. Например, rng('default');
A = rand(2,2)
A = 0.8147 0.1270 0.9058 0.9134
A
совпадайте с выходом rand(2,2)
каждый раз, когда вы перезапускаете MATLAB.