Extracting a 2 dimensional array from a 3 dimensional matrix.
2 次查看(过去 30 天)
显示 更早的评论
If I have a 3 dimensional matrix, with rows 1 through 10, columns a through z and pages 1 through 4, how do I extract a 2 dimensional array containing the leftmost slab of data, that is, all the column "a" data for all four pages? This would be a 10 x 4 array, with all the data from columns "a" (or 1 if you prefer numeric).
I will rearrange said data, and then want to reinstall the rearranged data in its original place in the 3 dimensional matrix.
Any help would be appreciated.
0 个评论
采纳的回答
Joseph Cheng
2015-5-1
编辑:Joseph Cheng
2015-5-1
so you have a matrix of 10 rows, 26 columns and 4 deep. That would be a 10x26x4 matrix. to get just all rows for column a for all pages is this example that is a bit easier to see
Testmat= randi(10,2,3,4);))
A = squeeze(Testmat(:,1,:))
A = A*0
Testmat(:,1,:) = A
0 个评论
更多回答(1 个)
Zhuang Min Choo
2018-9-6
What if don't use the function "squeeze" to find the answer, any other options?
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!