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

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
3 replies · 13K 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!
 
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!