如何在matlab中把文件生成avi格式的动画

ifmod(n,2)==0;time=num2str(round(n.*dt./1.0e-9));K=Kmin:Kmax;subplot(2,1,1),plot(K,Ex... if mod(n,2)==0;
time=num2str(round(n.*dt./1.0e-9));
K=Kmin:Kmax;
subplot(2,1,1),plot(K,Ex,'r');axis([0 200 -1 1]);
title(['time = ',time,' ns']);
ylabel('Ex');
subplot(2,1,2),plot(1:timestep,Ex160,'b'); axis([0 timestep, -1 1]);
xlabel('timestep (160th grid)');
ylabel('Ex');
M=getframe(gcf);
end
end
movie(gcf,M,0,10)

这一段是生成连续图象的动画,但是我开头和最后看不懂 希望哪位高手能给我解释下 if mod(n,2)==0; time=num2str(round(n.*dt./1.0e-9));

M=getframe(gcf);
end
end
movie(gcf,M,0,10)看不懂

然后也不知道怎么把动画保存成为avi格式 希望高手能给我把保存动画的程序
展开
 我来答
泪之梦幻
2015-08-19 · TA获得超过2211个赞
知道小有建树答主
回答量:304
采纳率:100%
帮助的人:55.6万
展开全部
通常动画可以用视频avi格式导出,也可以导出为gif.
基本流程是在动画循环中,将每个动画图画加入到avi文件中或写入GIF89a格式的Gif文件中.
close all; clear all;
%创建avi文件对象
aviobj = avifile('test.avi','compression','None');

%动画部分代码
t = linspace(0,2.5*pi,40);
fact = 10*sin(t);
fig=figure;
[x,y,z] = peaks;
for k=1:length(fact)
h = surf(x,y,fact(k)*z);
axis([-3 3 -3 3 -80 80])
axis off
caxis([-90 90])
%获取当前画面
F = getframe(fig);
%加入avi对象中
aviobj = addframe(aviobj,F);

%转成gif图片,只能用256色
im = frame2im(F);
[I,map] = rgb2ind(im,256);
%写入 GIF89a 格式文件
if k == 1;
imwrite(I,map,'test.gif','GIF', 'Loopcount',inf,'DelayTime',0.1);
else
imwrite(I,map,'test.gif','GIF','WriteMode','append','DelayTime',0.1);
end
end
close(fig);
%关闭avi对象
aviobj = close(aviobj);
化学工程
2008-05-16 · TA获得超过8897个赞
知道大有可为答主
回答量:2212
采纳率:80%
帮助的人:3299万
展开全部
试试这个。
MOVIE2AVI(MOV,'filename.avi')

clc;clear;
n=100;
x=0:pi/n:2*pi;
y=sin(x);
k=0;
for t=0:pi/n:2*pi
k=k+1;
x(k)=t
y(k)=sin(t);
H=plot(x,y,x(k),y(k),'or')
grid
MOV=getframe;
capture
MOVIE2AVI(MOV,'sinmovie1.avi')
end

figure
x=0:pi/n/10:2*pi;
y=sin(x);
grid on
comet(x,y)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式