如何分别绘制一个X * Y * Z(3D)矩阵的matlab?
问题描述:
我想创建4个子图,每个包含16个数字。每个图形都是矩阵GW的一个维度。即GW(:,:,1)是第一个图像。 这是我在第一个子图中的前16个图像的for循环。我应该如何修改for循环来获得3个更多的子图? 第一个子图应该包含前16个图像,第二个子图应该包含第二个16个图像,依此类推。随着下面的循环,我得到了所有四个子图的前16个图像。如何分别绘制一个X * Y * Z(3D)矩阵的matlab?
for i=1:4
figure(i);
hold on;
for jj = 1:16
subplot (4,4,j)
imshow (GW(:,:,j));
end
end
答
你只需要修改你如何访问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