在Matlab绘制动图时,若想保存成GIF或视频,可参考以下代码。
(1)GIF格式文章来源:https://www.toymoban.com/news/detail-729971.html
gif_flag = 1; % 是否保存
if gif_flag == 1
filename = 'gif_name.gif'; % 动画文件的文件名
end
%% 绘制图的数据
t = linspace(0,2*pi,50);
x = sin(t);
y = cos(t);
axis tight manual % 设置坐标轴
set(gcf,'color','w'); % 将图窗背景设置成白色
for n = 1:length(t)
plot(x(n),y(n),'o');% 画布上的图形
axis([-1.5 1.5 -1.5 1.5]); % 设置坐标轴范围
drawnow % 强制渲染画布
if gif_flag == 1
% 保存每一帧为 gif 图像
frame = getframe(gcf);
im = frame2im(frame);
[imind,cm] = rgb2ind(im,256);
if n == 1
imwrite(imind,cm,filename,'gif','DelayTime',0.1,'Loopcount',inf);
else
imwrite(imind,cm,filename,'gif','DelayTime',0.1,'WriteMode','append');
end
end
end
(2)视频格式文章来源地址https://www.toymoban.com/news/detail-729971.html
video_flag = 1; % 0表示不制作 1表示制作
if video_flag == 1
makeVideo = VideoWriter('video_name'); % 初始化视频对象
myWriter.FrameRate = 30;
open(makeVideo);
end
%% 绘图数据
t = linspace(0,2*pi,50); % 时间
x = sin(t); % x 的位置
y = cos(t); % y 的位置
axis tight manual % 设置坐标轴
set(gcf,'color','w');
for n = 1:length(t)
plot(x(n),y(n),'o');
axis([-1.5 1.5 -1.5 1.5]); % 设置坐标轴范围
if video_flag == 1
frame = getframe(gcf);
writeVideo(makeVideo,frame);
end
pause(0.01) % 阻塞时间 与视频时长无关
end
if video_flag == 1 % 录制完毕并关闭视频对象
close(makeVideo);
end
到了这里,关于Matlab动图保存——GIF制作与视频制作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!