В Matlab можно использовать rng('default');
для инициализации генератора случайных чисел.Инициализация генератора случайных чисел в Matlab
Выполняется ли это только для текущей функции или для всего сеанса?
Во-вторых, я хочу инициализировать генератор случайных чисел в определенной функции. Перед и после этой конкретной функции следует использовать не инициализированный генератор случайных чисел. Как это может быть сделано?
Редактировать: есть дополнительная проблема. Я хочу использовать функцию cvpartition, которая внутренне использует случайные числа, но я не могу передать объект RandStream функции. Как я могу использовать инициализированный генератор случайных чисел для функции cvpartition?
Даниил ответил на ваш второй вопрос. Что касается первого вопроса, то «rng» использует глобальное состояние, как он упомянул, что означает, что везде, где вы используете «rng», если он находится в функции или снаружи в командной строке, как только вы вызываете ее с определенным семенем, это семя используется для всего сеанса. Дальнейшие вызовы функций 'rand *' будут использовать это семя независимо от того, где вызываются эти функции (т. Е. В локальной функции, командной строке и т. Д.). – rayryeng