MATLAB создает случайную матрицу

Ammar Ali 30 Январь 2023 4 Июль 2021
  1. Сгенерируйте случайные числа, используя функцию rand() в MATLAB
  2. Сгенерируйте случайные числа, используя функцию randi() в MATLAB
  3. Сгенерируйте случайные числа, используя функцию randn() в MATLAB
  4. Сгенерируйте случайные числа, используя функцию randperm() в MATLAB
  5. Сгенерируйте случайные числа с помощью функции betarnd() в MATLAB
  6. Сгенерируйте случайные числа, используя функцию random() в MATLAB
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.

Author: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Сопутствующая статья - MATLAB Matrix