get a field value from all elements of a structure

78 visualizaciones (últimos 30 días)
Mike D.
Mike D. el 22 de Feb. de 2021
Comentada: Adam Danz el 22 de Feb. de 2021
If I have a structure s with a field A(1) and A(2) and A(3), where each of these A fields has a field B, I can type:
s = struct
s.A(1).B = 351;
s.A(2).B = 879;
s.A(3).B = 229;
s.A(4).B = 654;
If I type s.A.B it will show all four values as four separate "ans", but if I type temp = s.A.B it only grabs the first value. How do I get all of these values of B into a double array? I could write a for-loop:
for i = 1 : size(s.A,2)
temp(i) = s.A(i).B;
end
Is there a one-liner?

Respuesta aceptada

Adam Danz
Adam Danz el 22 de Feb. de 2021
z = [s.A.B];
  2 comentarios
Mike D.
Mike D. el 22 de Feb. de 2021
Thanks, I knew there must be an easy way.
Adam Danz
Adam Danz el 22 de Feb. de 2021
Good intuition. :)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Structures en Help Center y File Exchange.

Productos


Versión

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by