Extracting a Column from a 4D Double Array in MATLAB using Squeeze

Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
3 replies · 14K views
afallingbomb
Messages
16
Reaction score
0
Hello,

I'd like to access a column of values from the 4th dimension of a 4D Double array in MATLAB and then save them to a new matrix.

For example:

A = rand(3,3,3,3);
A(1,1,1,:)

gives me:

ans(:,:,1,1) =
0.7077

ans(:,:,1,2) =
0.0669

ans(:,:,1,3) =
0.7794

I want to create a new matrix, B, with those values but specifying B = A(1,1,1,:) results in the same output above. I want a vector in this form:

0.7077
0.0669
0.7794

Thank you!
 
Physics news on Phys.org
Your use of the colon operator is incorrect. See the Matlab docs on this subject for an explanation of how to subscript an array in the way you want.
 
Just put squeeze in front.

squeeze(A(1,1,1,:))
 
Thanks, Matonski. Squeeze does the trick!