find the index who have the max value in cell structure
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponse acceptée
Voss
le 23 Août 2022
Modifié(e) : Voss
le 30 Août 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 commentaires
Voss
le 30 Août 2022
You're right. I've changed the answer and changed the ex2 to [0 3 2], and it now gives the expected result.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Matrix Indexing 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!