MATLAB создает случайную матрицу
-
Сгенерируйте случайные числа, используя функцию
rand()
в MATLAB -
Сгенерируйте случайные числа, используя функцию
randi()
в MATLAB -
Сгенерируйте случайные числа, используя функцию
randn()
в MATLAB -
Сгенерируйте случайные числа, используя функцию
randperm()
в MATLAB -
Сгенерируйте случайные числа с помощью функции
betarnd()
в MATLAB -
Сгенерируйте случайные числа, используя функцию
random()
в MATLAB

В этом руководстве будет обсуждаться, как сгенерировать или создать случайные числа с помощью функций rand()
, randi()
, randn()
, randperm()
, betarand()
и random()
. в MATLAB.
Сгенерируйте случайные числа, используя функцию rand()
в MATLAB
Если вы хотите сгенерировать равномерно распределенные случайные числа, вы можете использовать функцию rand()
в MATLAB, которая генерирует случайные числа от 0 до 1. Вы также можете указать размер матрицы, содержащей случайные значения, и каждое значение будет от 0 до 1, которые вы можете масштабировать в соответствии с вашими требованиями, умножая их с помощью масштабатора. Например, сгенерируем матрицу случайных значений 2 на 2 с помощью функции rand()
. См. Код ниже.
rn = rand(2)
Выход:
rn =
0.2259 0.2277
0.1707 0.4357
Как видно из выходных данных, создается матрица 2 на 2, содержащая случайные значения от 0 до 1. Если вы хотите указать диапазон случайных чисел, вы должны использовать приведенную ниже формулу.
rn = a + (b-a).*rand(n,1)
В этой формуле a
- это нижний предел, b
- верхний предел, а n
- длина случайных чисел. Например, давайте сгенерируем десять случайных чисел в диапазоне от 2 до 8. См. Код ниже.
a = 2;
b = 8;
n = 10;
rn = a + (b-a).*rand(n,1)
Выход:
rn =
7.5403
4.5812
3.1089
7.4293
7.8785
4.6332
2.6667
3.5484
4.4523
5.5694
Есть десять случайных чисел в диапазоне от 2 до 8. Если вам нужны только целые числа на выходе, вы можете преобразовать эти случайные числа в целые, используя функцию round()
, которая округляет число с плавающей запятой до ближайшего целого. . Вы также можете клонировать размер и тип данных случайных чисел из существующего массива, используя функцию size()
для размера и свойство like
для типа данных. Например, давайте создадим массив и сгенерируем случайные значения в соответствии с размером и типом данных этого массива. См. Код ниже.
v = [2 3 1 5]
rn = rand(size(v),'like',v)
Выход:
v =
2 3 1 5
rn =
0.4886 0.5785 0.2373 0.4588
Размер и тип данных массива и случайных чисел совпадают. Проверьте эту ссылку, чтобы узнать больше о функции rand()
.
Сгенерируйте случайные числа, используя функцию randi()
в MATLAB
Вышеупомянутая функция генерирует случайные числа с плавающей запятой, но если вы хотите сгенерировать случайные целые числа, вы можете использовать функцию randi()
в MATLAB, которая генерирует случайные целые числа от 1 до заданного целого числа, которое вы можете указать как первый аргумент в функции randi()
. Вы также можете указать размер выходной матрицы, содержащей случайные значения, в качестве второго и третьего аргумента. Например, давайте сгенерируем матрицу 3 на 3, содержащую случайные целые числа от 1 до 15. См. Код ниже.
rn = randi(15,3,3)
Выход:
rn =
6 1 8
11 12 14
3 8 10
Матрица имеет размер 3 на 3 и содержит случайные целые числа от 1 до 15. Вы также можете генерировать случайные целые числа между определенным диапазоном, и вам просто нужно передать диапазон в квадратных скобках в качестве первого аргумента randi()
функция. Например, давайте сгенерируем 10 случайных чисел от -10 до 10. См. Код ниже.
rn = randi([-10,10],10,1)
Выход:
rn =
2
8
6
2
-7
-5
8
-10
0
-7
Существует десять случайных чисел в диапазоне от -10 до 10. Вы также можете определить тип данных целых чисел, передав имя типа данных в функции randi()
. Вы можете выбрать следующие типы данных: 'single'
, 'double'
, 'int8'
, 'uint8'
, 'int16'
, 'uint16'
, 'int32'
. , или 'uint32'
. Вы можете определить размер случайных чисел из размера существующего массива с помощью функции size()
и числового типа данных с помощью свойства like
. Например, давайте сгенерируем матрицу случайных значений в зависимости от размера и числового типа данных существующего массива. См. Код ниже.
v = [1 2; 6 7]
rn = randi(7,size(v),'like',v)
Выход:
v =
1 2
6 7
rn =
6 1
7 7
Размер и тип данных массива и случайных чисел совпадают. Проверьте эту ссылку, чтобы узнать больше о функции randi()
.
Сгенерируйте случайные числа, используя функцию randn()
в MATLAB
Если вы хотите сгенерировать нормально распределенные случайные числа, вы можете использовать функцию randn()
в MATLAB. Функция randn()
аналогична функции rand()
, но отличается только типом распределения. Функция rand()
генерирует равномерно распределенные случайные числа, а функция randn()
генерирует нормально распределенные случайные числа. Вы можете использовать любую из этих функций в зависимости от ваших требований. Проверьте эту ссылку, чтобы узнать больше о функции randn
.
Сгенерируйте случайные числа, используя функцию randperm()
в MATLAB
Если вы хотите сгенерировать случайную перестановку целых чисел, вы можете использовать функцию randperm()
в MATLAB. Случайная перестановка целых чисел будет от 1 до определенного числа, которое вы можете определить в функции randperm()
в качестве первого аргумента. Вы также можете определить количество целых чисел, которые хотите сгенерировать, в качестве второго аргумента функции. Например, давайте сгенерируем случайную перестановку 6 уникальных целых чисел. См. Код ниже.
rn = randperm(10,5)
Выход:
rn =
2 3 10 8 7
Все целые числа уникальны и находятся в диапазоне от 1 до 10. Обратите внимание, что функция randperm()
аналогична функции randi()
с той разницей, что randperm()
генерирует уникальные целые числа, тогда как в randperm()
randi()
целые числа могут повторяться. Проверьте эту ссылку, чтобы узнать больше о функции randperm
.
Сгенерируйте случайные числа с помощью функции betarnd()
в MATLAB
Если вы хотите сгенерировать случайные числа из бета-распределения, вы можете использовать функцию betarnd()
в MATLAB. Эта функция генерирует случайные целые числа, заданные первым и вторым аргументом: векторы, матрицы или массивы одинакового размера. Например, давайте сгенерируем матрицу случайных чисел размером 1 на 5 из бета-распределения, используя в качестве входных данных два вектора. См. Код ниже.
a = [1 2 3 4 5];
b = [9 8 7 6 5];
rn = betarnd(a,b)
Выход:
rn =
0.1234 0.1847 0.3334 0.2689 0.3678
Вы также можете указать размер выходной матрицы, задав его в третьем и четвертом аргументах функции betarnd()
. Посетите эту ссылку, чтобы узнать больше о функции betarnd()
.
Сгенерируйте случайные числа, используя функцию random()
в MATLAB
Если вы хотите сгенерировать случайные числа из указанного типа распределения, вы можете использовать функцию random()
в MATLAB. Вы должны определить имя распределения в качестве первого аргумента, а затем после этого вам необходимо передать параметры распределения. Например, давайте сгенерируем нормально распределенные случайные числа, используя значение сигмы 0 и значение mu 1, используя функцию random()
. См. Код ниже.
s = 0;
m = 1;
rn = random('Normal',s,m)
Выход:
rn =
-0.1649
Вы можете определить необходимое имя дистрибутива в функции. Вы можете использовать множество типов распределений, например: Бета
, Биномиальное
, Экспоненциальное
, Гамма
и многие другие. Посетите эту ссылку, чтобы узнать больше о функции random
.