Глава 8. Обработка данных
аргументу при отображении функции). Наибольшее из случайных чисел вычисляем командой Xmax=max(eta). Переменная k определяет количество рангов в гистограмме (столбцов в диаграмме на один больше). Шаг дискретности по аргументу определяется в соответствии с количеством рангов гистограммы командой h=Xmax/k. Список аргументов для функции плотности распределения вычисляется как x=0:h:Xmax. Эти же значения будем использовать для определения рангов гистограммы. Командой hist(eta,x) создаем гистограмму. Здесь мы использовали встроенную функцию hist() для создания гистограмм. Первым аргументом передается список значений, для которых строится гистограмма, а второй аргумент определяет ранговые значения, для формирования столбцов гистограммы.
На заметку
Если строится гистограмма на основе значений {ηi } (первый аргумент функции hist()), i = 1,2,...,n с ранговой разбивкой в соответствии со списком
{xj } (второй аргумент функции hist()), j = 1,2,...,m , то в результате строится диаграмма, высота столбиков которой равняется количеству значений из списка {ηi }, которые попадают в диапазон между соседними точками xj и xj +1 (для всех возможных индексов). Функция hist() в качестве результата возвращает список со значениями высоты столбцов гистограммы.
Гистограмма дает нам представление о законе распределения случайных чисел. Нам этот закон необходимо сравнить с теоретической кривой для экспоненциального распределения. Соответствующая теоретическая зависимость строится на основе функции плотности распределения. Так, если случайные числа имеют плотность распределения p(x), а всего чисел n , то оценкой (точнее, математическим ожиданием) для количества чисел, попадающих в интервал значений от x до x +dx (при малых значениях dx ), будет значение np(x)dx . В нашем случае роль dx играет переменная h.
Поэтому функцию |
для плотности распределения случайных чисел |
p(x) = α exp(−αx) |
следует умножить на коэффициент масштабирова- |
ния R=n*h. Значения "масштабированной" плотности распределения вычисляем командой p=Xmax*n/k*alpha*exp(-alpha*x). Для сравнения командой plot(x,p,'r-','LineWidth',2) строим график теоретической зависимости. Приведенный код сохраняем в файле с именем MyDist.m и в командном окне выполняем команду MyDist. Результаты графических построений представлены на рис. 8.25.
Видим, что совпадение достаточно неплохое. Если увеличить количество генерируемых точек, совпадение будет еще лучше.