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

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

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

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

rng(0,'twister');

Создайте вектор 1 000 случайных значений. Используйте 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. На практике это крайне маловероятно произойдет.

Смотрите также

Похожие темы