Function to check whether an array contains a duplicate of elements

11 vues (au cours des 30 derniers jours)
Mina
Mina le 11 Juil 2021
Commenté : Walter Roberson le 21 Juil 2023
I want to write a function that
- Takes as input an array, the value being checked and the starting element of the array where checking for a duplicate should start
- Returns a logical value to indicate whether the array contains a duplicate of the value being checked (stops checking when one is found)
  2 commentaires
the cyclist
the cyclist le 11 Juil 2021
Modifié(e) : the cyclist le 11 Juil 2021
Is this a homework assignment? What have you tried yourself? Maybe we can help your learn MATLAB, rather than do your work for you.
Walter Roberson
Walter Roberson le 11 Juil 2021
Okay, go ahead.

Connectez-vous pour commenter.

Réponses (1)

dpb
dpb le 11 Juil 2021
Modifié(e) : dpb le 12 Juil 2021
function flag=isduplicate(x,v,ix)
flag=numel(find(x(ix:end)==v))>1;
end
x is vector or if x is array in linear addressing order.
Otherwise, need indexing expression of row, colum, ... for as many dimensions as are greater > 1 in size(x)
If x is floating point, then for robustness, consider ismembertol instead of exact equality or write a tolerance expression.
  3 commentaires
dpb
dpb le 12 Juil 2021
Yeah, thanks...
Walter Roberson
Walter Roberson le 21 Juil 2023
Note that this might not behave as expected if there are NaN in the array.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by