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