En este artículo, vamos a discutir la «reorganización aleatoria de filas en una Array» que se puede hacer usando la función size() y randperm() .
Funciones utilizadas
1) size(): 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:
size(X) [m,n] = size(X) size(X,dim) [d1,d2,d3,...,dn] = size(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”
2) randperm(): La función randperm() se utiliza para la permutación aleatoria de números enteros.
Sintaxis:
randperm(n) randperm(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 un número «k» de enteros únicos que se seleccionan aleatoriamente de 1 a n.
Parámetros: Esta función acepta dos parámetros que se ilustran a continuación:
- 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.
Los siguientes ejemplos son para la «reorganización aleatoria de columnas en una array» que se puede realizar mediante la combinación de las funciones size() y randperm() :
Ejemplo 1
Matlab
% MATLAB code for random shuffling % of columns in a Matrix A = [1 2 3 % Specifying a 3*3 matrix 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 rows = size(A); % Calling the randperm() function for the % random permutation of the above matrix % over its dimension of 3*3 P = randperm(rows); % Getting the row wise randomly shuffled matrix B = A(P, : )
Producción
B = 1 2 3 7 8 9 4 5 6
Ejemplo 2
Matlab
% MATLAB code for random shuffling % of columns in a Matrix A = [1 2 3 4 % Specifying a 4*4 matrix 5 6 7 8 9 10 11 12 13 14 15 16]; % Calling the randperm() function to % randomly shuffle the rows of matrix A A(randperm(size(A, 2)), : )
Producción
ans = 9 10 11 12 1 2 3 4 5 6 7 8 13 14 15 16
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