Чтобы расширить ответ @alexforrence, rand
и другие связанные функции производят псевдослучайные числа (PRN), которым требуется начальное значение для начала производства. Эти числа не являются по-настоящему случайными, поскольку после начального начального числа числа создаются с помощью алгоритма, который является детерминированным по самой своей природе.
Однако быть псевдослучайным не обязательно плохо, поскольку модели, использующие PRN (например, методы Монте-Карло), могут генерировать переносимые, повторяемые результаты для многих пользователей и платформ. Кроме того, начальное число можно изменить для создания наборов случайных чисел и результатов, которые являются статистически независимыми, но при этом дают повторяемые результаты. Для многих научных приложений это очень важно. Кроме того, «истинные» случайные числа (следующий абзац) имеют тенденцию «слипаться» и неравномерно распределяться по своему диапазону для небольшой выборки пространства, что снижает производительность некоторых методов, основанных на стохастических процессах.
Существуют методы создания «настоящих» случайных чисел путем введения случайности из различных аналоговых источников (например, аппаратного шума). Эти типы чисел чрезвычайно важны для криптографически безопасных PRN, где неповторяемость является важной характеристикой ( в отличие от научного использования). Настоящие генераторы случайных чисел требуют специального оборудования, которое использует естественный шум (например, квантовые эффекты). Однако важно помнить, что общее количество случайных чисел, которые могут быть сгенерированы и использованы в вычислениях, ограничено точностью используемых чисел.
Вы можете повторно заполнить MATLAB псевдослучайным начальным числом, используя rng
функция. Однако «слишком частое повторное заполнение генератора в течение сеанса — плохая идея, поскольку это может отрицательно сказаться на статистических свойствах ваших случайных чисел» [src].
person
TroyHaskin
schedule
14.02.2015
rand
, всегда разные. Почему-то кажется, что здесь есть что-то, чего мы не знаем. Может быть, семя уже установлено? Во всяком случае, ответы объясняют большинство, и это должно решить ваши проблемы. - person patrik   schedule 14.02.2015rand
несколько раз, затем закрывал MATLAB, а также компьютер, и снова все открывал. Возможно, это то, что вам нужно сделать, чтобы сбросить генератор псевдослучайных чисел, чтобы воспроизвести это поведение. - person jeff   schedule 14.02.2015