可视化4D功能:
f(x,y,z,t)
我使用以下代码观察z = z0处的z切片:
for i = 1:t
imagesc(squeeze(f(:,:,z0,i))
pause(0.1)
end
有没有办法直接可视化这个时间演变的整个3D图片?
答案 0 :(得分:2)
不确定
for i = 1:t
% plot f(:,:,:,i)
pause(0.1)
end
然后您需要选择想要如何显示3D数据的方式。例如,取自Matlab's documentation:
for i = 1:t
p = patch(isosurface(f(:,:,:,i), 42)); % Where 42 is the isovalue
isonormals(f(:,:,:,i), p)
set(p, 'FaceColor', 'red', 'EdgeColor', 'none');
daspect([1,1,1])
view(3); axis tight
camlight; lighting gouraud
pause(0.1)
end
注意:您也可以将pause(0.1)
替换为drawnow
,暂停的时间足够长,以便让情节更新。
答案 1 :(得分:1)
使用plot3,scatter3,mesh或surf。
如果您有更新的matlab版本,请在命令窗口中打开工作区,选择所需的3个变量,然后单击“图”选项卡。然后将在顶部显示可用的图表。