matlab动态图如何保存?
彗星状轨迹图代码如下:x=cos(2*t).*(cos(t).^2);y=sin(2*t).*(sin(t).^2);comet(x,y);pause(0.1);...
彗星状轨迹图代码如下:
x = cos(2*t).*(cos(t).^2);
y = sin(2*t).*(sin(t).^2);
comet(x,y);
pause(0.1); 展开
x = cos(2*t).*(cos(t).^2);
y = sin(2*t).*(sin(t).^2);
comet(x,y);
pause(0.1); 展开
2个回答
展开全部
比如:
for i=1:300;
...........%画图代码
frame=getframe(gcf);
imind=frame2im(frame);
[imind,cm] = rgb2ind(imind,256);
if i==1
imwrite(imind,cm,'2.gif','gif', 'Loopcount',inf,'DelayTime',1e-4);%第一次必须创建!
else
imwrite(imind,cm,'2.gif','gif','WriteMode','append','DelayTime',1e-4);
end
end
其中,'2.gif'是图名
for i=1:300;
...........%画图代码
frame=getframe(gcf);
imind=frame2im(frame);
[imind,cm] = rgb2ind(imind,256);
if i==1
imwrite(imind,cm,'2.gif','gif', 'Loopcount',inf,'DelayTime',1e-4);%第一次必须创建!
else
imwrite(imind,cm,'2.gif','gif','WriteMode','append','DelayTime',1e-4);
end
end
其中,'2.gif'是图名
更多追问追答
追问
我单纯加了画图代码后确实能生成gif文件,但文件不能显示动图。所以我觉得应该是画图代码和for循环里的i有关,但还是不会写。可以再帮忙把完整的代码写给我看看吗?谢谢!
还是这个代码:
x = cos(2*t).*(cos(t).^2);
y = sin(2*t).*(sin(t).^2);
comet(x,y);
pause(0.1);
追答
t=0:0.02:10; Nt=size(t,2);
x = cos(2*t).*(cos(t).^2);
y = sin(2*t).*(sin(t).^2);
for i=1:Nt;
cla;hold on;
plot(x,y)
plot(x(i),y(i),'o');
frame=getframe(gcf);
imind=frame2im(frame);
[imind,cm] = rgb2ind(imind,256);
if i==1
imwrite(imind,cm,'2.gif','gif', 'Loopcount',inf,'DelayTime',1e-4);%第一次必须创建!
else
imwrite(imind,cm,'2.gif','gif','WriteMode','append','DelayTime',1e-4);
end
end
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询