Случайные числа в MATLAB

Опубликовано: 21 Февраля, 2023

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

В MATLAB есть множество вариантов генерации случайных чисел разных типов. В этой статье мы обсудим, как генерировать случайные числа с помощью различных опций, доступных в MATLAB.

Генерация случайных чисел:

Функция rand в MATLAB генерирует случайные числа в MATLAB.

Синтаксис:

num = rand(<optional parameters>)

Функция rand генерирует равномерно распределенные случайные числа (действительные числа) в диапазоне (0,1).

Пример 1:

Matlab




% MATLAB code 
for i = 1:5
    ran_num = rand;
    disp(ran_num)
end

Выход:

Приведенный выше код генерирует 5 случайных чисел и отображает их с помощью функции disp().

Квадратная матрица случайных чисел:

Чтобы сгенерировать матрицу случайных чисел n-го порядка в диапазоне (0,1), мы используем следующий метод.

mat = rand(n)

где n – порядок искомой матрицы.

Пример 2:

Matlab




% MATLAB code 
matrix = rand(3);
disp(matrix)

Выход:

Это создаст матрицу 3 на 3 случайных чисел в диапазоне (0,1).

Создание массива случайных чисел любого размера:

MATLAB предоставляет возможность генерировать массив любого размера и формы, используя ту же функцию rand() и передавая ей размер массива в виде вектора-строки.

Синтаксис:

arr = rand([<size of required array>])

Мы создадим массив размером 4 на 3 на 2 и отобразим его.

Пример 3:

Matlab




% MATLAB code 
s = [4 3 2];
arr = rand(s);
disp(arr)

Выход:

Генерация случайных чисел в любом диапазоне (мин., макс.):

Мы можем создавать случайные числа в любом диапазоне действительных чисел (минимум, максимум), используя стандартную формулу:

min + (max-min)*rand

Следующий код создает матрицу 3-го порядка в диапазоне (-2,3, 2,3).

Пример 4:

Matlab




% MATLAB code 
% Defining max and min of required range
min = -2.3;
max = 2.3;
  
% Creating a 3x3 matrix inf range (min, max)
arr = min + (max-min)*rand(3);
  
% Displaying the generated array.
disp(arr)

Выход: