find the index who have the max value in cell structure
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
i have a cell structure like this:
ex1=[1 2 3];
ex2=[2 3 0];
for i=1:3
a(i).b=struct('ex1',ex1(i),'ex2',ex2(i));
end
how can i find the index of a(i) who have the max value of ex1 but the ex2 must be greater than 0?
0 Kommentare
Akzeptierte Antwort
Voss
am 23 Aug. 2022
Bearbeitet: Voss
am 30 Aug. 2022
ex1=[1 2 3];
ex2=[0 3 2];
for i=1:3
a(i).b = struct('ex1',ex1(i),'ex2',ex2(i));
end
temp = [a.b];
posidx = find([temp.ex2] > 0);
[maxval,tempidx] = max([temp(posidx).ex1]);
maxidx = posidx(tempidx);
disp(maxval);
disp(maxidx);
2 Kommentare
Voss
am 30 Aug. 2022
You're right. I've changed the answer and changed the ex2 to [0 3 2], and it now gives the expected result.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!