converting 2d matrix to 3d
3 次查看(过去 30 天)
显示 更早的评论
Can anyone help me with making a 2D matrix into a 3D matrix?
I have a (71680 x 8) 2d matrix and I need to make a 3D matrix of dimensions (512 x 8 x 140) I need to take (512 x 8) consecutive matrices by row for 140 layers.
Can anyone help me with this? I really appreciate any help
0 个评论
采纳的回答
Titus Edelhofer
2014-6-25
HI Joe,
if I'm not mistaken, it should be
permute(reshape(X, 512, 140, 8), [1 3 2]);
Titus
3 个评论
Titus Edelhofer
2014-6-25
Hi Joe,
thanks. Could you please accept the answer then so others know it's already answered?
Titus
更多回答(1 个)
amit
2016-10-3
permute(reshape(X, 512, 140, 8), [1 3 2]); what is [1 3 2] stands for?
1 个评论
Walter Roberson
2016-10-4
"B = permute(A,order) rearranges the dimensions of A so that they are in the order specified by the vector order"
In your case it would rearrange reshape(X, 512, 140, 8) to be 512 x 8 x 140 by rearranging the elements. What was previously indexed at location (I,J,K) would be at location (I,K,J) in the new array.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!