当前位置: 首页 > news >正文

MATLAB 动态图GIF

MATLAB 动态图GIF


前言

保存为动态图原理:把一系列图片,按照一定时间间隔顺序保存,顺序播放即可。


一、创建动态图(动态曲线、动态曲面)

1. 创建动画曲线(MATLAB animatedline函数)

animatedline:参数设置方法与plot相当,所不同的是可以动态删除添加数据点。

示例:以 y = s i n ( x ) y=sin(x) y=sin(x)为例

x = 0:0.1:2*pi;
y = sin(x);
axis([min(x) max(x) min(y) max(y)]);
line = animatedline('Color','r','LineWidth',3);
for i=1:length(x)addpoints(line,x(i),y(i));pause(0.1);drawnow;
end

其中

  1. line 是animatedline函数返回的一个结构体(和C语言意思差不多)变量,包含曲线各种属性,后续也可以修改。
  2. axis 主要是用来对坐标轴进行一定的缩放操作,其操作命令主要如下:
    axis( [xmin xmax ymin ymax zmin zmax] ) %设置 x,y,z轴的限制范围。
  3. addpoints(line,x(i),y(i)) 向已有曲线添加点第i个点 ( x ( i ) , y ( i ) ) (x(i),y(i)) (x(i),y(i)), 并且drawnow配和使用,表示画出新曲线。
  4. 为限制过快更新,以至于看不到效果,使用**pause(0.1)**暂停程序0.1s。

在这里插入图片描述

2. 创建动画曲面

二. 保存动态图

原理:按照 一定时间间隔来 顺序保存 当前MATLAB figure窗口图像。
由于figure窗口图片在变化,我们保存的就是一系列变化的图片序列,再按顺序播放形成动态图。

自编MATLAB 动图存储函数: MakeGif(filename,index)

function MakeGif(filename,index)  f = getframe(gcf);  imind = frame2im(f);  [imind,cm] = rgb2ind(imind,256);  if index==1  imwrite(imind,cm,filename,'gif', 'Loopcount',inf,'DelayTime',0.001);else  imwrite(imind,cm,filename,'gif','WriteMode','append','DelayTime',0.001);end  
end  
  1. filename 为保存图像文件名,注意文件名需加单引号。
  2. index 表示第index张图的索引。
  3. 'LoopCount’选项:
    指定 0,动画将播放一次。
    指定 0,指定 1,动画将播放两次,以此类推。
    指定Inf值可使动画连续循环。

三、完整示例

1. 动态曲线( y = s i n ( x ) y=sin(x) y=sin(x)

x = 0:0.1:2*pi;
y = sin(x);
axis([min(x) max(x) min(y) max(y)]);
line = animatedline('Color','r','LineWidth',3);
for i=1:length(x)addpoints(line,x(i),y(i));MakeGif('my.Gif',i);pause(0.1);drawnow;
end

2. 动态曲面


总结

保存为动态图原理:把一系列图片,按照一定时间间隔顺序保存,顺序播放

http://www.lryc.cn/news/150637.html

相关文章:

  • ChatGPT⼊门到精通(4):ChatGPT 为何⽜逼
  • 数据分析基础-数据可视化学习笔记03-可视化的符号与表示-图形符号学
  • 暴力递归转动态规划(四)
  • 大数据项目实战(Sqoop安装)
  • android——spinner下拉弹窗、popupwindow下拉弹窗列表
  • 【阿里淘天】淘天20230824真题一、二 <模拟、双指针>
  • Java注解和反射
  • 【Docker】01-Centos安装、简单使用
  • k8s之存储篇---数据卷Volume
  • 博流RISC-V芯片JTAG debug配置与运行
  • [国产MCU]-W801开发实例-UART控制器
  • OpenCV(九):LUT查找表
  • 2023年 Java 面试八股文(25w字)
  • STM32f103入门(7)pwm驱动led驱动舵机驱动直流电机
  • Linux centos7 bash编程——-求质数和
  • 给Hexo添加说说功能
  • Tensorflow调用训练好的yolov5模型进行推理
  • 【场景方案】我所积累的一些跨页面的数据传递方式,持续更新,欢迎补充~
  • ASP.NET Core 的错误页面
  • Android静态ip设置的坑
  • 电源管理(PMIC)TPS63070RNMR、TPS650942A0RSKR、LM5175RHFR器件介绍、应用及特点。
  • k8s(kubernetes)介绍篇
  • gRPC + Spring Boot 编程教程 - piot
  • 新建Spring Boot项目
  • Python数据分析的第三方库
  • EF列表分页查询(单表、多表),排除参数为空的条件
  • VisualStudio配置pybind11-Python调用C++方法
  • ZZULIOJ 1164: 字符串加密,Java
  • 联合体(共用体)的简单介绍
  • Ansible学习笔记8