matlab函数plot函数_动态变量

matlab函数plot函数_动态变量引子对于真实系统或者仿真平台,数据是增量式的产生的。Matlab除了强大的矩阵运算外,还具有强大的数据可视化库。由于静态画图的方法较多,本文只针对增量式数据流的动态显示。本文主要介绍几种Matlab实现数据的动态显示方法。方法主要有两种:holdonset函数与drawnow函数组合holdon方法1.方法介绍此种方法比较原始,适合于即时数据,原理是先画上一帧,接着保留原始图像,

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

引子

对于真实系统或者仿真平台,数据是增量式的产生的。Matlab除了强大的矩阵运算外,还具有强大的数据可视化库。由于静态画图的方法较多,本文只针对增量式数据流的动态显示。**本文主要介绍几种Matlab实现数据的动态显示方法。**方法主要有两种:

  • hold on
  • set函数与drawnow函数组合

hold on 方法

1. 方法介绍

此种方法比较原始,适合于即时数据,原理是先画上一帧,接着保留原始图像,追加下一幀图像,此种方式比较繁琐,涉及画图细节,并且没有完整并连续的Line对象数据。此种方法需要注意的地方是,若想生成连续的线图,则每次plot至少两个点,原理大家都应该理解,两点一线嘛!如果想每次一个点增量式的画图,则线型选择’.’。

2. 代码与图例

t=0;
t1=[0 0.1]; %若为'-'至少同时输入两个点,两点一线嘛!!!而'.'则不用
m1=sin(t1);
p = plot(t1,m1,'-b','MarkerSize',5);   
x=-1.5*pi;
axis([x x+2*pi -1.5 1.5]);
grid on;

for i=1:1000
    hold on
    t=0.1*i; %下一个点
    t1=t1+0.1; %下一段线
    m1=sin(t1);
    p = plot(t1,m1,'-b','MarkerSize',5);   
    x=x+0.1;
    axis([x x+2*pi -1.5 1.5]);
    pause(0.01);
end

hold on

set函数与drawnow函数组合

1. 方法介绍

这种模式比较适合画动画,效率比较高,刷新闪烁小,适合即时数据,最终的Line结构数据完整。
了解此方法之前要搞清楚 Plot函数的原型是什么: 每个Plot由一个句柄维护,而可以通过set函数对该句柄对应的plot参数在线的更新,若在线更新plot的数据,则可实现动态显示的效果。
最后使用drawnow函数对plot进行刷新。

2. 代码与图例

t=[0]
m=sin(t)
p = plot(t,m,'EraseMode','background','MarkerSize',5);
x=-1.5*pi;
axis([x x+2*pi -1.5 1.5]);
grid on;

for i=1:1000
    t=[t 0.1*i];  
    m=[m sin(0.1*i)]; 
    set(p,'XData',t,'YData',m)   
    drawnow
    x=x+0.1;    
    axis([x x+2*pi -1.5 1.5]);
    pause(0.01);
end

set函数与drawnow函数组合动态效果展示

总结

本文介绍了两种实现即时数据可视化的方法。也就是看上去的动态显示效果。分别给出了两种方法的原理介绍和示例程序与图例。相信这两个简单的例子经过你的运用可以变幻出多姿多彩的数据可视化效果。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/183947.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 【《重构 改善既有代码的设计》学习笔记2】重构原则

    【《重构 改善既有代码的设计》学习笔记2】重构原则本篇文章的内容来自《重构 改善既有代码的设计》一书学习笔记整理并且加上自己的浅显的思考总结!上一篇通过一个简单的例子体验了一把重构过程,现在我们需要回过头看一下重构的一些背景、原理和理论。 并思考一下重构的关键原则是什么,以及重构时需要考虑哪一些问题?一、什么是重构1、 重构的定义“重构” 这个词有两种不同的定义!名称形式重…

  • 玩守望先锋显示渲染器丢失_win10守望先锋渲染内存不足

    玩守望先锋显示渲染器丢失_win10守望先锋渲染内存不足解决游玩守望先锋时出现"渲染设备已丢失"笔者配置:cpu:amd3600显卡:rtx2060出现问题:在打守望先锋的时候出现"渲染设备丢失。。。。&quot

  • 【并发缺陷】data race数据竞争、atomicity violation原子违背、order violation顺序违背

    【并发缺陷】data race数据竞争、atomicity violation原子违背、order violation顺序违背三类均是跟共享变量的内存访问有关的缺陷。对于并发缺陷的分类目前国内许多是分死锁、数据竞争、原子违背、顺序违背。或者在并发缺陷中又细分concurrencyvulnerability:死锁和数据竞争。感觉各个作者有自己的分类方法????以下引用的中文解释来自<并发缺陷暴露、检测与规避研究综述>哈工大的苏小红老师实验室发表在2015年计算机学报上目前找到外文文献分为7类。其他四类…

    2022年10月29日
  • 用sql创建索引_sqlserver索引的建立与使用

    用sql创建索引_sqlserver索引的建立与使用index_mode自定义索引名cn_name表名car_mode列名1.创建普通索引SQLCREATEINDEX语法在表上创建一个简单的索引。允许使用重复的值:注释:“column_name”规定需要索引的列。2.创建唯一索引SQLCREATEUNIQUEINDEX语法在表上创建一个唯一的索引。唯一的索引意味着两个行不能拥有相同的索引值。3.实例CREATEINDEX实例本例会创建一个简单的索引,名为“PersonIndex”,在Person表的Las

  • Java系统日志管理「建议收藏」

    Java系统日志管理「建议收藏」在一个系统中日志管理是一个很重要的部分,因为当系统发布到线网后出了问题只能看系统日志了,这个时候系统日志起到了一个错误排查功能,同时也可以通过系统日志统计用户吞吐量等等,总之系统日志是系统管理一个重点。本系统架构为SpringMVC,myBatis,Shrio等等。1.SpringMVC异常处理SpringMVC负责接收用户请求并进行处理然后将结果返回给用户,那么为了不让异常抛给用户,我们一般在C…

  • java版本结巴分词算法bug[通俗易懂]

    java版本结巴分词算法bug[通俗易懂]Nevertolate。所以明天再做也不会晚结巴分词的过程是:1、根据dict.txt中的词库构建一棵trie树,这棵树的实例只有一个,采取单例模式。2、每来一次分词构造,就顺着trie树进行分词,这将产生很多种结果,于是就生成了一个DGA,分词的有向无环图,终点是句子的左边或者右边(实际上应该分别以左边和右边为终点来做处理)。3、利用动态规划,从句子的终点开始,到这算回去(这个在动态…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号