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.mzph.cn/news/68972.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【JavaEE进阶】Spring事务和事务传播机制

文章目录 一. 什么是Spring事务二. Spring中事务的实现1. Spring编程式事务2. 声明式事务2.1 trycatch下事务不会自动回滚的解决方案2.2 Transactional 作用范围2.3 Transactional 参数说明2.4 Transactional 工作原理 三. 事务的隔离级别1. 事务的四大特性2. Spring中设置事务…

发生OOM时JVM会退出吗

程序是否退出和发生 OOM 无关 需要明确,程序是否退出和发生 OOM 无关,而和当前是否还有存活的非守护线程有关。 只要还有运行中的子线程,即使 main 线程结束或异常崩溃了,程序也不会停止。 public class TestThreadRun {privat…

确保网络的安全技术介绍

防火墙技术 防火墙是隔离本地网络与外界网络的一道防御系统。通常用于内部局域网 与外部广域网之间,通过限制外部网络用户以非法手段来访问内部资源,来达到保 护内部网络的安全。根据安全规则,防火墙对任何外部网络访问内部网络的行为进 …

sql:SQL优化知识点记录(十)

(1)慢查询日志 Group by的优化跟Order by趋同,只是多了一个having 开启慢查询日志: 演示一下慢sql:4秒之后才会出结果 查看一下:下方显示慢查询的sql (2)批量插入数据脚本 函数和存…

【跟小嘉学 Rust 编程】二十六、Rust的序列化解决方案(Serde)

系列文章目录 【跟小嘉学 Rust 编程】一、Rust 编程基础 【跟小嘉学 Rust 编程】二、Rust 包管理工具使用 【跟小嘉学 Rust 编程】三、Rust 的基本程序概念 【跟小嘉学 Rust 编程】四、理解 Rust 的所有权概念 【跟小嘉学 Rust 编程】五、使用结构体关联结构化数据 【跟小嘉学…

质量属性案例-架构真题(二十一)

试题一 某电子商务公司升级会员与促销管理系统,向用户提交个性化服务,提高用户粘性。在项目建立之初,公司领导人一致认为目标是提升会员管理方式的灵活性,由于当前用户规模不大,用户简单,系统方面不需要做…

聊聊如何玩转spring-boot-admin

前言 1、何为spring-boot-admin&#xff1f; Spring Boot Admin 是一个监控工具&#xff0c;旨在以良好且易于访问的方式可视化 Spring Boot Actuators 提供的信息 快速开始 如何搭建spring-boot-admin-server 1、在服务端项目的POM引入相应的GAV <dependency><grou…

图神经网络和分子表征:4. PAINN

如果说 SchNet 带来了【3D】的火种&#xff0c;DimeNet 燃起了【几何】的火苗&#xff0c;那么 PAINN 则以星火燎原之势跨入 【等变】时代。 在 上一节 中&#xff0c;我们提到&#xff0c; PAINN 在看到 DimeNet 取得的成就之后&#xff0c;从另一个角度解决了三体几何问题&a…

无涯教程-Android - 系统架构

Android操作系统是一堆软件组件&#xff0c;大致分为五个部分和四个主要层&#xff0c;如体系结构图中所示。 Linux内核 底层是Linux-Linux 3.6&#xff0c;带有大约115个补丁&#xff0c;这在设备硬件之间提供了一定程度的抽象&#xff0c;并且包含所有必需的硬件驱动程序&am…

RK3568开发笔记(六):开发板烧写ubuntu固件(支持mipi屏镜像+支持hdmi屏镜像)

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/132686096 红胖子网络科技博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…

Sentinel 流量控制框架

1. Sentinel 是什么&#xff1f; Sentinel是由阿里中间件团队开源的&#xff0c;面向分布式服务架构的轻量级高可用流量控制组件。 2. 主要优势和特性 轻量级&#xff0c;核心库无多余依赖&#xff0c;性能损耗小。 方便接入&#xff0c;开源生态广泛。 丰富的流量控制场景。 …

AI篇-chatgpt基本用法(文心一言也适用)

目录 &#xff08;1&#xff09;基本规则 &#xff08;2&#xff09;例子1-文章摘要 &#xff08;3&#xff09;例子2-代码生成 &#xff08;4&#xff09;文心一言链接 &#xff08;1&#xff09;基本规则 相比于搜索引擎&#xff0c;ChatGPT的优势在于其高效的想法关联和…

《CTFshow-Web入门》09. Web 81~90

Web 入门 索引web81题解 web82题解原理 web83题解 web84题解 web85题解 web86题解 web87题解原理 web88题解 web89题解 web90题解 ctf - web入门 索引 web81&#xff1a;include() 利用&#xff0c;一句话木马之 Nginx 日志利用。web82~86&#xff1a;include() 利用&#xff…

WebSocket--技术文档--基本概念--《快速了解WebSocket协议》

阿丹&#xff1a; 不断学习新技术&#xff0c;丰富自己了解更多才能扩展更多世界可能。 官网 WebSocket首页、文档和下载 - HTML5开发相关 - OSCHINA - 中文开源技术交流社区 软件简介 WebSocket 是 HTML5 开始提供的一种浏览器与服务器间进行全双工通讯的网络技术。 WebS…

力扣|找出和所对应的两数的下标

从零开始刷力扣&#xff08;bushi 题目放在这&#xff1a; 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出和为目标值target的两个整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一…

linux上vscode中.cpp文件中引入头文件.hpp时报错:找不到头文件(启用错误钵形曲线)

当在.cpp文件中引入系统给定的头文件时&#xff1a;#include < iostream > 或者引入自定义的头文件 &#xff1a;#include <success.hpp> 报错&#xff1a;找不到相应的头文件&#xff0c;即在引入头文件的改行底下标出红波浪线 解决方法为&#xff1a; &#…

kvm 虚拟化(修改root密码)

安装libguestfs-tools yum install libguestfs-tools 生成新的密码串 # openssl是一个加密工具&#xff0c;-1 是指普通加密&#xff0c; # hello为key &#xff0c; 123456 才是密码&#xff0c; # 下面就是是生成的密码串&#xff0c;这样我们只要将这些进行对应的替换就可…

vue 防抖与节流用法

一、html <template><button click"getData">获取数据</button> </template>二、JS import { throttle } from "/utils/common"; export default {methods:{getData: throttle(async function(params){console.log(”获取接口数…

音视频 ffmpeg命令参数说明

主要参数&#xff1a; -i 设定输入流 -f 设定输出格式(format) -ss 开始时间 -t 时间长度 音频参数&#xff1a; -aframes 设置要输出的音频帧数 -b:a 音频码率 -ar 设定采样率 -ac 设定声音的Channel数 -acodec 设定声音编解码器&#xff0c;如果用copy表示原始编解码数据必须…

【面试精品】关于面试会遇到的Apache相关的面试题

1. Apache HTTP Server 基于什么协议提供网页浏览服务&#xff1f; 答&#xff1a;基于标准的http网络协议提供网页浏览服务。 2. 简述编译安装httpd软件包的基本过程&#xff1f; 答&#xff1a;解包&#xff0c;配置&#xff0c;编译&#xff0c;安装。 3. 编译安装httpd软…