En este artículo, discutiremos cómo encontrar valores duplicados y sus índices dentro de una array en MATLAB. Se puede hacer usando las funciones unique() , length() , setdiff() y numerel() que se ilustran a continuación:
Usando Único()
La función Unique(A) se usa para devolver los mismos datos que en la array A especificada sin repeticiones.
Sintaxis: único (A)
Ejemplo:
Matlab
% MATLAB code for detection of duplicate % values of the array using unique() % Initializing an array A A = [1 2 3 4 5] % Calling the unique() function over % the above array A to return the % unique values B = unique(A) % Using length() function to return % the size of the above arrays if length(A)==length(B) fprintf('Each elements are unique.') else fprintf('Elements are repeated.') end
Producción:
A = 1 2 3 4 5 B = 1 2 3 4 5 Each elements are unique.
Usando Longitud()
La función length() se usa para devolver la longitud de la array especificada.
Sintaxis: longitud (X)
Ejemplo:
Matlab
% MATLAB code for detection of duplicate % values of the array using length() % Initializing an array A A = [1 2 3 2 4 3 5 5] % Calling the unique() function over % the above array A to return the % unique values B = unique(A) % Using length() function to return % the size of the above arrays if length(A)==length(B) fprintf('Each elements are unique.') else fprintf('Elements are repeated.') end
Producción:
A = 1 2 3 2 4 3 5 5 B = 1 2 3 4 5 Elements are repeated.
Usando Setdiff()
La función setdiff() se usa para devolver la diferencia establecida entre las dos arrays dadas, es decir, los datos presentes en la array A pero no en B, sin repeticiones de datos.
Sintaxis: setdiff(A, B)
Ejemplo:
Matlab
% MATLAB code for detection of duplicate % values of the array using setdiff() % Initializing an array A = [1 2 3 4 3] % Calling the unique() function % over the above array to return % unique elements [B] = unique(A) % Using setdiff() and numel() functions % together to get the indices of repeated % elements duplicate_indices = setdiff(1:numel(A), B)
Producción:
A = 1 2 3 4 3 B = 1 2 3 4 duplicate_indices = 5
usando numeral()
La función numerel() se usa para devolver la cantidad de elementos presentes en una array específica.
Sintaxis: numeral(A)
Ejemplo:
Matlab
% MATLAB code for detection of duplicate % values of the array using numel() % Initializing an array A = [0 2 4 1 2 3 0 4] % Calling the unique() function % over the above array to return % unique elements [B] = unique(A) % Using setdiff() and numel() functions % together to get the indices of repeated % elements duplicate_indices = setdiff(1:numel(A), B)
Producción:
A = 0 2 4 1 2 3 0 4 B = 0 1 2 3 4 duplicate_indices = 5 6 7 8
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