¿Cómo barajar aleatoriamente las columnas en MATLAB en Matrix?

En este artículo, vamos a discutir la “reorganización aleatoria de columnas en una Array” con la ayuda de las funciones size() y randperm() . La función size() se utiliza para devolver el tamaño de cada dimensión de la array «X» especificada o el tamaño de la array «X» especificada. 

Usando Size() y randperm()

1) randperm(): La función randperm() se utiliza para la permutación aleatoria de números enteros.

Sintaxis:

aleatorio(n)

aleatorio (n, k)

Aquí,

randperm(n) devuelve un vector de fila que contiene una permutación aleatoria de los números enteros de «1» a «n» sin ninguna repetición.

randperm(n,k) devuelve un vector de fila que contiene «k», un número de enteros únicos que se seleccionan aleatoriamente de 1 a n.

Parámetros: Esta función acepta dos parámetros.

  • n: Este es el número especificado hasta el cual se generará un número aleatorio desde «1» sin ninguna repetición.
  • k: Es el número de enteros únicos que se seleccionan aleatoriamente de 1 a n.

Ejemplo:

Matlab

% MATLAB code for calling the randperm()
% to generate a random permutation
% of the integers from 1 to 5
A = randperm(5)

Producción: 

A =
  4   2   3   1   5

Los siguientes ejemplos son de la «reorganización aleatoria de columnas en una Array» que se puede hacer usando la combinación de las funciones size() y randperm() :

2) tamaño: La función size() se utiliza para devolver los tamaños de cada dimensión de la array especificada «X» o el tamaño de la array especificada «X».  

Sintaxis:

tamaño (X)

[m, n] = tamaño (X)

tamaño (X, tenue)

[d1,d2,d3,…,dn] = tamaño(X)

Aquí,

size(X) devuelve los tamaños de cada dimensión de la array especificada «X» en un vector d con elementos ndims(X).

[m,n] = size(X) devuelve el tamaño de la array especificada «X» en las variables separadas m y n.

size(X,dim) devuelve el tamaño de la dimensión de «X» especificada por escalar dim.

[d1,d2,d3,…,dn] = size(X) devuelve los tamaños de las primeras n dimensiones de la array especificada «X» en variables separadas.

Parámetros: Esta función acepta dos parámetros que se ilustran a continuación: 

  • X: Es la array o array o dimensión especificada.
  • dim: Es el valor escalar para la dimensión especificada “X”

Ejemplo 1: 

Matlab

% MATLAB code for size() and randpem()
% Specifying a 3*3 matrix
A = [1 2 3
     4 5 6
     7 8 9];
      
% Calling the size() function over
% the above matrix which gives a row vector
% whose elements are the lengths of the
% corresponding dimensions of A
cols = size(A);
 
% Calling the randperm() function for the
% random permutation of the above matrix
% over its dimension of 3*3
P = randperm(cols);
 
% Getting the column wise randomly shuffled matrix
B = A(:,P)

Producción: 

B =
  3   1   2
  6   4   5
  9   7   8

Ejemplo 2: 

Matlab

% MATLAB code for shuffle 4*4 matrix
% using randperm()
% Specifying a 4*4 matrix
A = [1 2 3 4
     5 6 7 8
     9 10 11 12
     13 14 15 16];
      
% Calling the randperm() function to
% randomly shuffle the column of matrix A
A(:, randperm(size(A, 2)))

Producción: 

Publicación traducida automáticamente

Artículo escrito por Kanchan_Ray y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *