从一个三维矩阵中提取出一个二维矩阵 Matlab

3
我有一个3d的m x n x t矩阵,我想要提取t个2d的n x m矩阵。 在我的情况下,我有一个1024x1024x10的矩阵,并且我想要生成10个图像来展示它。
这不是重塑(reshaping),我只想每次获取数据的一部分,有没有更简单的方法做到这一点,而不是逐个成员复制所需的数据?
2个回答

6

5

正如Oliver所说,您可以使用:

my_2d_array = my_3d_array(:,:,n);

您可以使用squeeze函数来删除矩阵中的1*1。

1
当另一个维度也是单例时会发生什么?那也会被移除吗? - Milind R
是的。尝试运行这个:size(squeeze(zeros(10, 1, 10, 1, 2)))。输出看起来像这样:ans = 10 10 2。 - Amin.A

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接