MATLAB: Get a field value from all elements of a structure

comma-separated listMATLABstruct

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?

Best Answer

z = [s.A.B];