¿Cómo detectar valores duplicados y sus índices dentro de una array en MATLAB?

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

Deja una respuesta

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