# remove double indexvalues in loop

7 Ansichten (letzte 30 Tage)
Dion Theunissen am 25 Feb. 2021
Kommentiert: Bob Thompson am 26 Feb. 2021
Hi,
I have a script where I take the maximum values out of a matrix for each column. I am using the index of the max value to get that one.
Sometimes indexmax is more then 1 value. That is the moment that i only need the highes value of A(:,e)
Now I want to avoid that i am using 2 times the same index. I want to use that index just once for the highes match.
for e = 1:length(RawDatafile)
...
for f = 1:length(CLfile)
...
for g = 1:IndRD
...
percentage = (100/length2)*length3;
A(f,e) = percentage;
end
indexmax = find(A(:,e)==max(A(:,e)));
% this is the place where i need to add a while loop or something to avoid a double used index later in the script.
%something like
%if indexmax(e) == used earlier
% use maximum highes value of (A(indexmax(e)))
%end
I tried the indexmax(1) but on that way its using just the first index and not the one he didn't use before.
##### 5 Kommentare3 ältere Kommentare anzeigen3 ältere Kommentare ausblenden
Dion Theunissen am 26 Feb. 2021
Sorry thats not correct, maybe a bit unclear from my side.
Usually this script works, except the case when there are in column e more from the same values. In that case indexmax can have more than 1 value. Now I have to make it that way that in the 'e loop' it will not be possible to get 2 times the same index.
So in case index = 2 and the next loop index = [2, 3] it has to take 3 cause 2 is allready been.
Bob Thompson am 26 Feb. 2021
Ah, ok, I think I better understand now. I recommend a check to see if the value is already within indexmax.
idm = find(A(:,e)==max(A(:,e))); % Find index of max values
idm = idm(~ismember(idm,indexmax)); % Remove indices already recorded
indexmax(e) = idm(1); % Record next index

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

R2020b

### Community Treasure Hunt

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

Start Hunting!

Translated by