Методы выбора случайных строк из матрицы в MATLAB
В MATLAB есть несколько методов, с помощью которых мы можем выбирать случайные строки из матрицы. Теперь мы рассмотрим следующие способы выбора случайных строк из матрицы:
- Способ 1: использование функции randperm
- Способ 2: Использование функции randsample
- Способ 3: использование функции datasample
- Способ 4: Использование функции randi()
Способ 1: использование функции randperm
Функция randperm генерирует список чисел от 1 до n в случайном порядке. Эти числа организованы как вектор-строка. Мы можем использовать эту функцию для генерации случайных индексов строк, а затем использовать эти индексы для выбора строк из нашей матрицы.
Пример
Ниже код MATLAB выбирает 2 случайные строки из матрицы A:
А = ранд ( 10 , 5 )
% Создать случайную перестановку индексов строк
идентификатор = пляж пермь ( размер ( А, 1 ) ) ;
% Выберите случайные 2 строки A
Б = А ( IDX ( 1 : 2 ) , : )
Способ 2: Использование функции randsample
Функция randsample генерирует случайную выборку элементов из указанного массива. Чтобы выбрать случайные строки из матрицы, вы можете использовать функцию randsample с параметром rows.
Мы можем использовать эту функцию для генерации случайных индексов строк, а затем использовать эти индексы для выбора строк из нашей матрицы.
Пример
Ниже код MATLAB выбирает 2 случайные строки из матрицы A:
А = ранд ( 10 , 5 )
% Создание случайных индексов строк и выбор случайных строк
idx = случайная выборка ( размер ( А, 1 ) , 2 ) ;
Б = А ( идкс, : )
Способ 3: использование функции datasample
Функция datasample возвращает случайную выборку данных из набора входных данных. Мы можем использовать эту функцию для прямого выбора случайных строк из нашей матрицы. Функция datasample — это более продвинутая версия функции randsample.
Пример
Ниже код MATLAB выбирает 3 случайных строки из матрицы A:
% Создать матрицу 5x3А = [ 1 2 3 ; 4 5 6 ; 7 8 9 ; 10 , одиннадцать , 12 ; 13 , 14 , пятнадцать ]
% Выбрать случайные строки
random_rows = образец данных ( А, 3 )
Способ 4: Использование функции randi()
Функция randi() — это функция MATLAB, которая позволяет нам генерировать случайные целые числа из заданного диапазона. В контексте выбора случайных строк из матрицы мы можем использовать функцию randi() для генерации индексов случайных строк.
Синтаксис
Синтаксис функции randi():
ранди ( н )Здесь n представляет собой верхний предел диапазона, из которого генерируются случайные целые числа. randi() дает нам случайное целое число от 1 до n.
Пример
Вот простой пример кода MATLAB, который демонстрирует использование функции randi() для выбора двух случайных строк из матрицы:
% Создайте магический квадрат 3x3магический квадрат = магия ( 3 )
% Генерация двух случайных индексов строк с помощью randi()
randomRow1 = ранди ( 3 ) ;
randomRow2 = ранди ( 3 ) ;
% Выберите случайные строки из магического квадрата
выбранные строки = волшебный квадрат ( [ случайная строка1, случайная строка2 ] , : ) ;
% Показать выбранные строки
дисп ( 'Выбранные строки:' ) ;
дисп ( выбранные строки ) ;
В этом примере мы создаем магический квадрат 3×3 с помощью функции magic(). Затем мы генерируем два случайных индекса строк, используя randi(3), так как магический квадрат имеет 3 строки. Наконец, мы выбираем случайные строки из магического квадрата, используя сгенерированные индексы, и отображаем результат.
Заключение
В этой статье рассматриваются способы выбора случайных строк из матрицы. В этой статье рассматриваются три функции выбора случайных строк матрицы: функция randperm(), randsample(), datasample() и randi(). Все эти три метода могут генерировать случайные строки из определенной матрицы. Количество сгенерированных строк зависит от числа, которое мы передали в аргументе этих функций. Обо всех этих функциях для генерации случайных строк в MATLAB читайте в этой статье.