Случайные числа в MATLAB
Случайные числа, как следует из названия, представляют собой числа, выбранные случайным образом из набора чисел. В практическом применении классические компьютеры не могут создавать действительно случайные числа, поскольку они разработаны на основе двоичной логики, поэтому им требуется какой-то алгоритм для генерации случайных чисел. Этот тип случайного числа называется псевдослучайным числом. Это случайные числа, сгенерированные алгоритмом в ядре данного языка программирования с использованием некоторой переменной, такой как системное время, которое никогда не будет одинаковым, в качестве начального числа для получения разных чисел каждый раз.
В 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) |
Выход: