qickyly change 3D matrix to 2D matrix
1 view (last 30 days)
Show older comments
Shan Chu
on 16 Feb 2017
Answered: Rahul Kalampattel
on 16 Feb 2017
Hi, This might be such a silly question but could anyone please help? I get a 3D matrix A(n,m,k) so I want to take the value a(:,1)=A(1,1,:). But Matlab doesn't allow me to do that. Is using "for" loop the only way to do that?
0 Comments
Accepted Answer
Roger Stafford
on 16 Feb 2017
Edited: Roger Stafford
on 16 Feb 2017
You could accomplish that with:
a = reshape(permute(A,[3,1,2]),size(A,3),[]);
[Note: You really haven’t specified how the first two dimensions in A should be arranged in the single second dimension of a. Here I have taken the default arrangement.]
0 Comments
More Answers (1)
Rahul Kalampattel
on 16 Feb 2017
For the example you gave, the following also works:
a=squeeze(A(1,1,:));
0 Comments
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!