looking for convenient way to extract matrix from 1*n*n
Show older comments
Hi:
I have a 3*3*3 matrix, and I want to extract the data after its summation.
for example:
A=zeros(5,5,5)
B=sum(A,1);
now B is a 1*5*5 matrix, I want to assign it to a 5*5 matrix C but could not find a way, so looking for help here.
I tried
C=B(1,:,:)
but it does not work.
Thanks!
Accepted Answer
More Answers (2)
David Goodmanson
on 4 Jun 2023
Edited: David Goodmanson
on 4 Jun 2023
Hi YL,
A=zeros(5,5,5)
B=squeeze(sum(A,1));
Squeeze removes all singleton dimensions.
A = zeros(5,5,5)
B = permute(sum(A,1), [2 3 1]);
size(B)
squeeze() is a convenience function that ends up invoking permute(). squeeze() will not always give you the result you might expect:
C = squeeze(ones(1,1,5)), size(C)
Notice that squeeze() removed all of the singular dimensions, not just the first singular dimension.
Categories
Find more on Resizing and Reshaping Matrices 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!