如何从多个结果制作动画?

时间:2011-04-17 16:44:33

标签: matlab animation

我有一些矩阵计算,并设置我的循环运行(让我们说)50次。 我还为每个值分配了一种颜色,这样我就可以根据它们的值在这些矩阵的末尾得到一张图片。 我不知道的是 - 如何从每一轮我得到的这些多个图像制作动画。 有可能吗?!

3 个答案:

答案 0 :(得分:0)

link看起来很有希望。点击“电影”以显示this page。感兴趣的命令是'getframe'和'movie'。在我的手机上,所以我无法尝试。希望它有所帮助。

答案 1 :(得分:0)

以下代码是我之前用来生成.avi文件的代码

n = 15;
p = randperm(n);

figure('Color','white');
fcount = 0;
for k = 1:n-1
    % produce the plot
    [idx,idx] = min(p(k:n));
    p(idx+k-1) = p(k);
    p(k) = k;
    plot(p,'*')
    % Make sure plot updates before we capture the contents
    pause(0.1)
    F(k) = getframe(gcf); %#ok 
end
movie2avi(F,'so1.avi','fps',2,'quality',100);

但是,现在用于Windows XP的avi编解码器似乎存在一些问题,例如,请参阅此主题。 http://www.mathworks.com/matlabcentral/newsreader/view_thread/271172

我有同样的问题;使用默认Indeo编解码器生成的avi文件无法在Windows Media Player中运行。使用不同的编解码器,例如

movie2avi(F,'so1.avi','fps',2,'quality',100,'compression','Cinepak');

解决了这个问题。您可能需要进行试验才能找到合适的工作组合。

Hth,Darren

答案 2 :(得分:-1)

我不确定你要做什么。一种选择是使用MS-GIF动画师,尽管有50张图片有点多。有关信息,请参阅http://en.wikipedia.org/wiki/Microsoft_GIF_Animator。考虑到图像数量,您可能需要创建一个powerpoint文档。