И другие программы этой серии
4.1. Случайные точки
с равномерным распределением координат на плоскости
198
Операции с векторами и матрицами
Операции с матрицами
199
Функция randn генерирует массив со случайными элементами, распределен
ными по нормальному закону с нулевым математическим ожиданием и средне
квадратическим отклонением, равным 1:
• randn(n) – возвращает матрицу размера n?n. Если n – не скаляр, то по
явится сообщение об ошибке;
• randn(m,n) или randn([m n]) – возвращают матрицу размера m?n;
• randn(m,n,p,…) или randn([m n p…]) – возвращает массив с элемента
ми, значения которых распределены по нормальному закону;
• randn(size(A)) – возвращает массив того же размера, что и A, с элемен
тами, распределенными по нормальному закону;
• randn (без аргументов) – возвращает одно случайное число, которое изме
няется при каждом последующем вызове и имеет нормальное распределение;
• randn(\'state\') – возвращает двухэлементный вектор, включающий те
кущее состояние нормального генератора. Для изменения состояния гене
ратора можно применять следующие формы этой функции:
• randn(\'state\',s) – устанавливает состояние в s;
• randn(\'state\',0) – сбрасывает генератор в начальное состояние;
• randn(\'state\',j) – для целых j устанавливает генератор в j е состояние;
• randn(\'state\',sum(100*clock)) – каждый раз сбрасывает генератор
в состояние, зависящее от времени.
Пример:
>> Y=randn(4,3)
Y=
-0.4326
-1.6656
0.1253
0.2877
Рис. 4.2. Гистограмма для 10 000 нормально распределенных чисел
в 100 интервалах
>> true(2,3)
ans =
1
1
1
1
>> false(4,2)
ans =
0
0
0
0
0
0
0
0
-1.1465
1.1909
1.1892
-0.0376
0.3273
0.1746
-0.1867
0.7258
1
1
Проверить распределение случайных чисел по нормальному закону можно,
построив гистограмму распределения большого количества чисел. Например,
следующие команды
>> Y=randn(10000,1); hist(Y,100)
строят гистограмму (рис. 4.2) из 100 столбцов для 10 000 случайных чисел с нор
мальным распределением. По рисунку видно, что огибающая гистограммы дей
ствительно близка к нормальному закону распределения.