在Mathematica当中,有Export函数可以很方便地将你绘出的多张图片合成为一张gif动图,在Matlab当中有没有类似的函数呢?当然,没有用起来那么方便的。但是Matlab可以使用imwrite函数进行gif的复写叠加形成gif动图,这也是最为普遍的一种方法。

动机来源于很多时候,你想要向别人讲解或者展示某个函数的变化过程,或者要说明某个变化的物理过程(比如说流体),利用matlab的类型于以下框架的代码,可以很方便地在软件中将过程动态展示出来。

    figure(1);plot(pic(i));%pic(i)表示不同时间下的图像axis([xmin xmax ymin ymax]);drawnow;

问题的关键在于,很多时候我们并不只是想在Matlab中把图动态显示一下给自己看,而是需要将它保存为gif(为什么是gif呢?因为其小巧方便,容易嵌入到其他东西中),从而用以汇报说明,或者其他用途。
之前很长一段时间,我嫌matlab保存gif要改动的代码比较多(Mathematica只要在Animate时,将Animate改成Export就直接出图了),都是利用gif动画录制工具(推荐灵者Gif录制),在matlab图在跑的时候,给它录成gif。
后来,需要的从matlab中搞出来的gif越来越多了,深感录制方法的琐碎,便又想到了利用Matlab自身函数,将参数递变绘制的多张图,保存为gif动图。
一个简洁而基本的框架如下:

clc
clear
pic_num = 1;
for ***************************plot(fig(i));F=getframe(gcf);I=frame2im(F);[I,map]=rgb2ind(I,256);if pic_num == 1imwrite(I,map,'test.gif','gif','Loopcount',inf,'DelayTime',0.2);elseimwrite(I,map,'test.gif','gif','WriteMode','append','DelayTime',0.2);endpic_num = pic_num + 1;end

这里imwrite写入时,要保证原来已经有一个文件存在,才能用“append”参数,所以设置了一个pic_num,让一张图直接保存,后面用“append”。

举个例子结束吧:

clc
clear
pic_num = 1;
for epsilon = 0.01:-0.001:0.005t = 1;syms x;ur = -1;ul = 1;s = (ur + ul)/2;w = ur + 1/2*(ul - ur)*(1-tanh((ul-ur)*(x-s*t)/(4*epsilon)));figure(1);ezplot(w);axis([-0.05,0.05 -1.5 1.5])drawnow;F=getframe(gcf);I=frame2im(F);[I,map]=rgb2ind(I,256);if pic_num == 1imwrite(I,map,'test.gif','gif', 'Loopcount',inf,'DelayTime',0.2);elseimwrite(I,map,'test.gif','gif','WriteMode','append','DelayTime',0.2);endpic_num = pic_num + 1;
end

Matlab如何制作和保存gif动图相关推荐

  1. matlab如何制作和保存gif动图,Matlab学习手记——制作GIF动图

    的:利用Matlab制作GIF动图. 结果图 测试代码 clear;clc; filename = '页岩碎屑.gif'; % 保存文件名 Iters = [1:9 10*(1:9) 100*(1:9 ...

  2. 如何将MATLAB绘制的图像保存为动图

    资源下载:https://download.csdn.net/download/qq_16635325/10894373 方法,我已经写成了一个函数SAVEGIF 用法和说明 savegif   将位 ...

  3. matlab 动态存储图片,Matlab刷新图像及保存.gif动图的简单方法

    ​​ 有很多时候我们需要在PPT中展示一个动态变化的图像,这就需要不断刷新绘图以及保存独立的动画或者视频,matlab对于这一功能有非常完善的支持. 查文档就有还非要写报告,我摸鱼的时间也很宝贵的好么 ...

  4. matlab:将fig保存为动图gif

    引言 在一些场景中,不同的参数下绘制出的fig是不同的,为了清晰的看到不同参数下fig的变化.可以将一组fig保存成动态图,从而就可清晰的看出参数变化对fig的影响. 在matlab中可以用imwri ...

  5. python 制作gif-怎样用Python制作好玩的GIF动图

    原标题:怎样用Python制作好玩的GIF动图 作者: 景略集智 https://jizhi.im/blog/post/pytogif 程序员共读整理发布,转载请联系作者获得授权 之前我们分享过用Py ...

  6. python 制作gif-利用Python如何制作好玩的GIF动图详解

    前言 之前我们分享过用Python进行可视化的9种常见方式.其实我们还能让可视化图形逼格更高一些,今天就分享一下如何让可视化秀起来:用Python和matplotlib制作GIF图表. 假如电脑上没有 ...

  7. 怎么制作高清GIF动图

    想要制作一个高清的GIF动态图片其实也并不是很难,大家都知道所谓GIF动图就是很多帧连在一起无限循环播放,永不停歇,可以用来当做QQ表情图.微信表情图以及搞笑图片.只要在电脑上用到一个能够将多张图片或 ...

  8. python制作gif动图_怎样用Python制作好玩的GIF动图

    原标题:怎样用Python制作好玩的GIF动图 作者: 景略集智 https://jizhi.im/blog/post/pytogif 程序员共读整理发布,转载请联系作者获得授权 之前我们分享过用Py ...

  9. 制作gif动图python_利用Python如何制作好玩的GIF动图详解

    前言 之前我们分享过用Python进行可视化的9种常见方式.其实我们还能让可视化图形逼格更高一些,今天就分享一下如何让可视化秀起来:用Python和matplotlib制作GIF图表. 假如电脑上没有 ...

最新文章

  1. linux系统之编译安装mysql
  2. mysql 表查询注意
  3. 如何活着:欲望、外界、标签、天才、时间、人生目标和经历
  4. 产品经理不得不知的APP数据分析及报表设计基础
  5. 52Exchange 2010升级到Exchange 2013-升级SH站点Ex2010到2013
  6. 网卡vlan标签_硬核来了,VLAN揭秘!!!
  7. java第三方包学习之jsoup
  8. notepad++列编辑操作
  9. laravel 数据库操作之查询构造器
  10. oracle 用工具查询慢,Oracle自带工具sql优化集-SQL Tuning Advisor (使用心得体会)
  11. QT造类器(操作简单)
  12. 使用u盘+iso装纯净系统的基本步骤。
  13. python遍历文件夹下所有文件
  14. 卡尔曼滤波器在ADC采样中的运用
  15. 计算机网络安全漏洞排查报告,网络安全漏洞自查报告.docx
  16. 【转载】最全的脱壳,反编译_,汇编工具集合
  17. SQL语句中对时间字段进行区间查询
  18. 怎么用c语言画余弦函数,用c语言绘制余弦函数图像
  19. 【华为云技术分享】如何快速实现鲲鹏弹性云服务器Node.js部署和高可用性?
  20. 【建议收藏】这个工具专门用于寻找路由器中的安全漏洞.md

热门文章

  1. 低端显卡?跟那些大品牌比都不差的显卡品牌!
  2. [siggraph14]《刺客信条》的高级大气雾效渲染技术
  3. CATIA V6软件操作——文件管理
  4. 苹果x出现绿线怎么修复_苹果手机屏幕触摸屏失灵怎么办?换屏哥来帮你修复...
  5. 基于GoogleAuthenticator的Totp手机宝令功能
  6. 上微信怎么同时用计算机,如何同时登录两个或多个微信帐户?手机和计算机均可使用....
  7. Linux 简单配置
  8. 掌握这6大技能体系:西安java培训
  9. 微博第三方登录,获取用户信息(昵称、头像、地址等信息)
  10. 复仇者联盟用的什么渲染器_我们正在构建一个惊奇目录阅读器! 复仇者联盟!