如何分别绘制X * Y * Z(3D)矩阵matlab?

时间:2016-02-26 01:01:08

标签: matlab matlab-figure

我想创建4个子图,每个子图包含16个数字。每个图是矩阵GW的一个维度。即GW(:,:,1)是第一张图片。 这是第一个子图中前16个图像的for循环。我应该如何修改for循环以获得3个以上的子图? 第一个子图应包含前16个图像,第二个子图应包含第二个16个图像,依此类推。通过以下循环,我可以获得所有四个子图的前16个图像。

for i=1:4
        figure(i);
        hold on;

        for jj = 1:16
              subplot (4,4,j)
              imshow (GW(:,:,j));
        end
end

1 个答案:

答案 0 :(得分:0)

您只需要修改访问GW第三维的方式。试试这个:

num_figures = 4;  % because I dont like magic numbers in the code
subplots_per_figure = 16;  % same here
for i=1:num_figures
        figure(i);
        hold on;

        for j = 1:subplots_per_figure
              subplot (4,4,j)
              imshow (GW(:,:,j+(i-1)*subplots_per_figure));
        end
end