MATLAB:随时间动画制作3D等高线图

时间:2015-04-21 06:51:26

标签: matlab

所以我有一组数据,我在MATLAB中处理给定时间,我将数据输出到2D矢量,这些值存储波的幅度,而它们在矩阵中的位置给出它们的位置。我正在用

绘制我的数据
mesh(plotMatrix)

如果我可以随时间移动波动,那将是非常好的,我在给定时间内这样做的方式是我将数据乘以e ^(omega j t)其中t是固定的。我想用

time = 0:periodRes:5*period;

对于时间,我可以为不同的时间增量生成不同的数据集,然后使用3D绘图设置动画以查看波动...

1 个答案:

答案 0 :(得分:0)

movie功能怎么样? E.g。

time = linspace(0, 1, 30);
grid = linspace(0, 1, 30);
[X, Y] = meshgrid(grid, grid);

figure
subplot(1,2,1)
F = struct('cdata',[],'colormap',[]);
for i = 1:numel(time)
    t = time(i);
    Z = t*sin(2*pi*(X-0.2*Y+t)); %// Sample function
    surf(X, Y, Z);
    zlim([-1, 1])

    drawnow
    F(i) = getframe;
end

subplot(1,2,2)
movie(F, 5)

可能与MovieWriter一起使用。