Случайные числа в определенной области значений

В этом примере показано, как создать массив случайных чисел с плавающей запятой, которые рисуются из равномерного распределения в открытом интервале (50, 100).

По умолчанию, rand возвращает нормированные значения (от 0 до 1), полученные из равномерного распределения. Чтобы изменить область значений распределения на новую область значений (a, b), умножьте каждое значение на ширину новой области значений (b - a) и затем сдвиньте каждое значение на a.

Во-первых, инициализируйте генератор случайных чисел, чтобы результаты в этом примере были повторяемыми.

rng(0,'twister');

Создайте вектор с 1000 случайными значениями. Используйте rand функция для рисования значений из равномерного распределения в открытом интервале (50,100).

a = 50;
b = 100;
r = (b-a).*rand(1000,1) + a;

Проверьте значения в r находятся в пределах заданной области.

r_range = [min(r) max(r)]
r_range =

   50.0261   99.9746

Результат находится в открытом интервале, (50 100).

Примечание

Некоторые комбинации a и b делают теоретически возможным включение в ваши результаты a или b. На практике это крайне маловероятно.

См. также

Похожие темы