在写论文的过程中,我们经常需要用MATLAB绘制图形。论文中的图形都是图片格式,但是在展示和汇报时,如果将图形做成GIF动图,变量的变化过程就会非常直观,展示效果也会非常好。下面将本人利用MATLAB绘制GIF动图的方法分享给大家。

  • 前提:已经利用MATLAB完成了图片的绘制,保存有变量数据

具体程序如下所示:

figure(1)
clf;
box on;
%坐标轴信息
xlabel({'时间(s)'},'FontSize',40)
ylabel({'$z_{i1}(t)$'},'Interpreter','latex','FontSize',40)
%设置坐标轴线宽
set(gca,'LineWidth',2,'FontSize',40)
%坐标显示范围
axis([0,1.5,-50,100])
legend('智能体1','智能体2','智能体3','智能体4','智能体5','智能体6','智能体7','智能体8');
pausetime=0.001; %设置绘图速度
pause(1);
%绘制八条曲线,设置每条曲线的颜色和线宽
h1=line(NaN,NaN,'color','r','linewidth',2.5);
h2=line(NaN,NaN,'color','b','linewidth',2.5);
h3=line(NaN,NaN,'color','k','linewidth',2.5);
h4=line(NaN,NaN,'color','g','linewidth',2.5);
h5=line(NaN,NaN,'color','r','linewidth',2.5);
h6=line(NaN,NaN,'color','g','linewidth',2.5);
h7=line(NaN,NaN,'color','b','linewidth',2.5);
h8=line(NaN,NaN,'color','k','linewidth',2.5);
t=1*(0.001:0.001:1.5);
%直接用n=1:length(t),绘制速度超级慢;n=1:20:length(t) ,中间的20表示多久取一次样,可以调节绘制速度
for n=1:20:length(t)   %z1,z2,...,z8是之前MATLAB绘图时,保存的变量,也就是前提条件中的绘制图形保存的变量set(h1,'xdata',t(1:n),'ydata',z1(1,1:n));%设置质点1的运动 set(h2,'xdata',t(1:n),'ydata',z2(1,1:n));%设置质点2的运动 set(h3,'xdata',t(1:n),'ydata',z3(1,1:n));%设置质点3的运动 set(h4,'xdata',t(1:n),'ydata',z4(1,1:n));%设置质点4的运动 set(h5,'xdata',t(1:n),'ydata',z5(1,1:n));%设置质点5的运动 set(h6,'xdata',t(1:n),'ydata',z6(1,1:n));%设置质点6的运动 set(h7,'xdata',t(1:n),'ydata',z7(1,1:n));%设置质点7的运动 set(h8,'xdata',t(1:n),'ydata',z8(1,1:n));%设置质点8的运动 pause(pausetime);legend('智能体1','智能体2','智能体3','智能体4','智能体5','智能体6','智能体7','智能体8');drawnow;%下面是保存为GIF的程序frame=getframe(gcf);imind=frame2im(frame);[imind,cm] = rgb2ind(imind,256);if n==1imwrite(imind,cm,'Z1.gif','gif', 'Loopcount',inf,'DelayTime',1e-4);elseimwrite(imind,cm,'Z1.gif','gif','WriteMode','append','DelayTime',0);end
end

GIF绘制效果如下所示:

Matlab 绘制动态图相关推荐

  1. MATLAB绘制主函数动态图,matlab绘制动态图

    mathematica绘制动态图,"绘图之王"争霸赛--Excel才是绘图王道,matlab绘制动态图,动态三维图绘制 matlab动态图画法_数学_自然科学_专业资料.Matla ...

  2. matlab绘制动态图

    常用的包括两种方式:plot方式及drawnow方式 以导弹跟踪问题为例子. 位于坐标原点的A船向位于其正东⽅20个单位的B 船发射导弹,导弹始终对准B船, B船以时速V单位(常数)沿东北⽅向逃逸.若 ...

  3. matlab绘制动态图,Matlab绘制动态图的两种方式(参考)

    第一种方式 close all; clear all; clc; clf; xlabel('X轴'); ylabel('Y轴'); box on; axis([-2,2,-2,2]); axis eq ...

  4. nyquist图怎么画matlab,用MATLAB绘制Nyquist图

    <用MATLAB绘制Nyquist图>由会员分享,可在线阅读,更多相关<用MATLAB绘制Nyquist图(9页珍藏版)>请在人人文库网上搜索. 1.用MATLAB绘制Nyqu ...

  5. 超详细的Python matplotlib 绘制动态图

    复习回顾 在matplotlib模块中我们前面学习绘制如折线.柱状.散点.直方图等静态图形.我们都知道在matplotlib模块主要有三层脚本层为用户提供快捷的绘制图形方法,美工层接收到脚本层的命令后 ...

  6. python绘制动态图-Python利用Echarts绘制动态交互图:快速入门

    我们都知道,Echarts是百度开源的超强大的数据可视化工具.Python中经典的matplotlib.seaborn等库相比,它最大的优点是所绘制的图形为动态图,这意味着我们可以和图形之间进行动态的 ...

  7. 用matlab绘制P三曲线,知道曲线方程 怎么用matlab绘制三维图 一定要给出程序 , matlab怎样画三维曲线...

    导航:网站首页 > 知道曲线方程 怎么用matlab绘制三维图 一定要给出程序 , matlab怎样画三维曲线 知道曲线方程 怎么用matlab绘制三维图 一定要给出程序 , matlab怎样画 ...

  8. 如何使用 MATLAB 绘制小提琴图

    写了个matlab绘制小提琴图的函数: 图中小提琴状区域为核密度曲线 白色方块为25%,75%分位数 中间横线为中位数 白色点为离群值点 竖着的黑线是去掉离群值点后点的上下限 1使用示例 基础使用,Y ...

  9. MATLAB绘制雷达图并导出矢量图到Visio编辑(论文用图)

    MATLAB绘制雷达图并导出矢量图到Visio编辑(论文用图) 前言: matlab绘制雷达图   雷达图(Radar Chart)又被叫做蜘蛛网图(Spider Chart),适用于显示三个或更多的 ...

最新文章

  1. 在git下搭建个人博客
  2. c#读蓝牙数据_客户端实现蓝牙接收(C#)知识总结
  3. css 实现页面加载中等待效果
  4. [C++11]常量表达式函数
  5. NUMTRYE - Number Theory (Easy)
  6. AngularJS移动端页面input无法输入
  7. 只有八维数字,才能还原宇宙的本质?
  8. minio 并发数_MinIO 参数解析与限制
  9. 线性搜索c语言,线性搜索实例程序(C语言)
  10. 仅让演讲者看到备注信息
  11. HDU5086Revenge of Segment Tree(数论)
  12. python 如何运行程序
  13. 中维云视通网络监控系统
  14. 在线支付接口详解、支付接口对接
  15. 无线信道的特征——衰落通识介绍
  16. qq自定义diy名片代码复制_这个QQ技巧厉害了,艾特闪退QQ群表情霸屏无法撤回删除...
  17. 最终幻想7php攻略,最终幻想7图文攻略 PS版FF7全剧情任务攻略(CD1)(6)
  18. 样本空间与事件集合,事件间的关系——概率论与数理统计(宋浩)
  19. PHP开发环境的搭建
  20. 如何计算机器人的工作范围,如何根据工业机器人的工作范围选择合适的机器人型号?...

热门文章

  1. 微信小程序开发需要什么前提条件?
  2. 区块链与大数据究竟有着怎样的关系?
  3. Socket异步服务器,可以监控客户端的状态,功能有,文字测试,服务端向客户端传输屏幕录像(UDP传输)、监控客户端屏幕(UDP传输),抖动用户窗体、发送文件给用户、扫描客户的C盘目录。
  4. 单位根检验、协整检验和格兰杰因果关系检验三者之间的关系
  5. Linux统计文件夹下个数指令
  6. 图像形成(5)球面透视投影和近似相机模型
  7. linux搭建网站教程详解
  8. CAD看图软件怎么快速进行对图纸的打印?
  9. javaString-StringBuilder-StringBuffer
  10. 异常 | ARM _data_abort 异常处理流程