Function to check whether an array contains a duplicate of elements

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.
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

I think you meant to assign the value to the output variable flag.
Yeah, thanks...
Note that this might not behave as expected if there are NaN in the array.

Connectez-vous pour commenter.

Tags

Question posée :

le 11 Juil 2021

Commenté :

le 21 Juil 2023

Community Treasure Hunt

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

Start Hunting!

Translated by