find the index who have the max value in cell structure
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Respuesta aceptada
Voss
el 23 de Ag. de 2022
Editada: Voss
el 30 de Ag. de 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 comentarios
Voss
el 30 de Ag. de 2022
You're right. I've changed the answer and changed the ex2 to [0 3 2], and it now gives the expected result.
Más respuestas (0)
Ver también
Categorías
Más información sobre Matrix Indexing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!