Все функции случайных чисел, 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.