How can i see if the value occurs in an array for the first time?

2 vues (au cours des 30 derniers jours)
Philipp Mueller
Philipp Mueller le 25 Mai 2020
Commenté : Tommy le 26 Mai 2020
I have an array called loadp (50*1 double). I would like to see if the value occurs in the respective cell (loop) for the first time. If so, something should be executed. if the value has already occurred in the previous runs, the value should ignored.
for i=1:numRows;
%tmp = regexp(my_strings(i),'(?<=_l)\d+','match','once');
%loadp(i,1) = str2double(tmp)
condition=any(diff(sort(loadp(i,1))) == 0)
if condition==0
%do something
sadasd=2313
else
%do nothing
ssd=213123
end
end
  3 commentaires
Philipp Mueller
Philipp Mueller le 25 Mai 2020
It works! Thank you Tommy :)
Tommy
Tommy le 26 Mai 2020
Fantastic, happy to help!
(moved to an answer)

Connectez-vous pour commenter.

Réponse acceptée

Tommy
Tommy le 26 Mai 2020
Try one of these.
condition = ~ismember(loadp(i),loadp(1:i-1));
% or
condition = find(loadp==loadp(i),1) == i;
They should both check if i is the first index in loadp which contains loadp(i). I'm not sure which is better, or if some other way would beat both.

Plus de réponses (0)

Catégories

En savoir plus sur Matrices and Arrays dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by