Как создать новую матрицу из всех возможных комбинаций строк в MATLAB?

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

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

Процедура изготовления матрицы:

  • Объявите количество строк.
  • Объявить количество столбцов
  • Использование функции rand для выбора случайных строк из матрицы.
  • Выбрать строки случайным образом
  • Распечатать матрицу.

Мы можем увидеть приведенные ниже примеры для создания новой матрицы из всех возможных комбинаций строк.

Синтаксис:

variable = randperm(parameter , parameter); %for taking random numbers

Команда randperm() использует случайные числа для создания матрицы комбинаций строк.

Пример:

Matlab




% MATLAB code to Create a matrix randomly
% picking rows from a Matrix 
 % size of given matrix 
i = 5; j = 4 ; 
a = rand(i,j) ; 
  
 % pick rows from matrix a
pick = 5 ;
  
 % select rows randomly 
id = randperm(i,pick) ;  
iwant = a(id,:) ; 
disp(iwant);

Выход:

Объяснение:

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

Создайте матрицу, выбрав все строки случайным образом:

Теперь мы создаем матрицу, выбирая все строки случайным образом. В этом мы объявим ряд строк и столбцов и создадим столбцы через другой.

Ниже приведены примеры, через которые мы можем понять.

Синтаксис:

variable1 = rand(rows,columns); %make a matrix of nth rows and m columns.

variable2 = randperm(nth_rows); %select rows randomly

Объяснение: команда rand() создает матрицу строк и столбцов и случайным образом сохраняет число.

Пример:

Matlab




% MATLAB code for create a matrix 
% randomly picking rows from a Matrix 
% size of given matrix
i = 5; j = 6 ;   
A = rand(i,j) ; 
  
% select rwos randomly 
indx = randperm(i) ;   
iwant = A(indx,:) ; 
disp(iwant);

Выход:

Объяснение:

В этом мы объявляем i = 5, j = 6 (количество строк и столбцов) и создаем столбцы через другой. Это означает, что мы создаем матрицу возможных комбинаций строк и, наконец, отобразим ее на нашем экране.

Создайте 3D-матрицу, выбирая строки случайным образом:

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

Синтаксис:

var = perms(rows); % this will arrange all rows randomly

Команда perms() упорядочивает все строки случайным образом, а команда rand() принимает случайные числа. Для реализации ознакомьтесь с приведенным ниже примером.

Пример:

Matlab




% MATLAB code for  Create a matrix 
% randomly picking rows from a Matrix 
 % size of given matrix 
i = 3; j = 5 ; 
Ax = rand(i,j) ; 
  
% pick rows from matrix As
% arrange all rows randomly 
indx = perms(i) ;   
N = size(indx,1) ;
iwant = Ax(i,j,N) ; 
for k = 1:N
    iwant(:,:,k) = Ax(indx(k,:),:) ;
end
disp(iwant);

Выход:

Объяснение:

В этом мы объявляем i = 3, j = 5 (количество строк и столбцов) и создаем столбцы через другой. Это означает, что мы создаем матрицу возможных комбинаций строк и, наконец, отобразим ее на нашем экране.