1. 问题描述

    在GUI中接收串口数据,并绘制实时的曲线;

    但是发送数据变化后,刚开始能在曲线上体现出来,几秒钟过去就出现卡顿延迟;越往后越卡。

    关键词:
    MATLAB、GUI、画图、实时曲线、延迟、解决方法

  2. 问题分析和方法尝试

    开始曲线变化流畅,越往后延迟越大,说明往后MATLAB储存数据太多导致的;

    尝试每次画少一些点,是否可以解决问题;
    结果开始显示时好一点,但是还会很快的卡顿和增大延迟。

    网上有人建议改:主页→预设→常规→Java堆内存,调大一些;
    感觉结果没有变化。

    是不是电脑性能不好?
    应该不是,毕竟是台式机,平时用起来很顺手,画个简单的图应该没问题。

  3. 网上查找结果
    网上有不少人遇到相同的问题,比如这个:

    但是这个哥们很有意思,不知道发现了什么失误,也不说原因和结果,直接说问题解决了,就再也看不到身影……

    留下了一群懵逼的表情……

    继续找到了这个,问题描述一样:

    说是没加分号:

    分析一下:

    不愿说原因的那哥们说是失误,这里发现说是分号忘了加,很有可能说的是同一个原因!
    我赶紧检查了一下自己的分号有没有少,结果发现没有问题……

    我猜想可能某种情况下,延迟是由分号导致的,我没见过,我这里也不是分号的问题……
    同样,下面说的方法也可能只适用于某种特定的情况,希望能至少给一小部分人帮助。

  4. 发现解决方法

    再后来反复见到一个经典的例程,最后一次浏览时,在这个例程中注意到这句话:

    参考: 用matlab实时读取串口数据并动态显示曲线 -luckpl

    EraseMode是什么?

    当然我不会直接复制MATLAB help里面的,虽然一大堆英文看起来很有逼格……
    按照个人目前的不入流水平,觉得很多MATLAB问题中文网页都能解决差不多了。

    normal方式很容易理解,重新绘图,但较慢!默认是normal方式。

    none方式不做任何擦除,在原来图形上绘制,会出现覆盖和重叠的效果:

    根据上面xor方式的描述,这种方法既可以绘制新画出来的曲线,也不会全部刷新导致延迟严重,这样的话就保证了实时性。

    background 方式把旧对象的颜色变为背景色,这个好理解,但是下面这句:这种方式影响被擦除对象下面的对象?不太懂。

    我试了一下background模式,和xor模式显示上没有区别,可能是,只要不全部重新刷新,就能满足实时性要求。

    根据我不求甚解的性格,我才不关心background到底有什么用呢……

  5. 结语
    中秋节快乐!

解决MATLAB绘图延迟问题的一种方法相关推荐

  1. matlab保存所有图,Matlab中图片保存的5种方法

    matlab的绘图和可视化能力是不用多说的,可以说在业内是家喻户晓的. Matlab提供了丰富的绘图函数,比如ez**系类的简易绘图函数,surf.mesh系类的数值绘图函数等几十个.另外其他专业工具 ...

  2. Matlab中数组元素引用——三种方法

    Matlab中数组元素引用--三种方法 1.Matlab中数组元素引用有三种方法 1 2 3 1.下标法(subscripts) 2.索引法(index) 3.布尔法(Boolean) 注意:在使用这 ...

  3. matlab绘图标题含有n=变量的方法(类似c语言)

    按照惯例,先给出结果: 这里的n=5 是自动生成的,类似于c语言的printf输出. 这里我们使用的是 sprintf()函数. 实现title含有n=5(或者某一个数字)的具体的代码如下: titl ...

  4. android动态加home,Android 解决监听home键的几种方法

    Android 解决监听home键的几种方法 前言: 以下两种方法可以完美解决监听back键,home键,多任务键(最近任务键). 一.使用注册广播监听home键.多任务键 演示图 创建一个广播代码如 ...

  5. Java解决Hash(散列)冲突的四种方法--开放地址法(线性探测,二次探测,伪随机探测)、链地址法、再哈希、建立公共溢出区

    Java解决Hash(散列)冲突的四种方法--开放地址法(线性探测,二次探测,伪随机探测).链地址法.再哈希.建立公共溢出区 参考文章: (1)Java解决Hash(散列)冲突的四种方法--开放地址法 ...

  6. 解决json日期格式问题的3种方法

    解决json日期格式问题的3种方法 这篇文章主要介绍了解决json日期格式问题的3种方法 ,需要的朋友可以参考下 开发中有时候需要从服务器端返回json格式的数据,在后台代码中如果有DateTime类 ...

  7. 什么是android应用程序未安装,Android 解决应用程序未安装的三种方法

    <Android 解决应用程序未安装的三种方法>由会员分享,可在线阅读,更多相关<Android 解决应用程序未安装的三种方法(3页珍藏版)>请在人人文库网上搜索. 1.解决安 ...

  8. Matlab中计算程序运行时间的几种方法

    平常科研当中,当我们在看文献时,没看到一个优秀的算法时都有想要自己动手编程去实现的愿望,算法好坏可以用代码的运行时间来评估,在MATLAB中大致有以下几种方法来计算程序的运行时间: 1.tic和toc ...

  9. matlab读取cvs文件的几种方法

    matlab读取CVS文件的几种方法: 1,实用csvread()函数 csvread()函数有三种使用方法: 1.M = csvread('filename') 2.M = csvread('fil ...

最新文章

  1. H3C 静态默认路由配置
  2. 如何将知识图谱特征学习应用到推荐系统?
  3. homework-03
  4. OpenVINO 2020版没有cpu_extension.dll问题解决
  5. 如何在vuejs里禁用eslint语法检查工具
  6. Linux inode与文件系统关系
  7. Qt之线程同步(生产者消费者模式 - QWaitCondition)
  8. 签约沈腾,易车开启三年品牌计划,穿越车市寒冬
  9. 传爱立信两大股东欲弹劾CEO卫翰思 股价应声反弹
  10. 让你做个《五子棋》怎么存储棋盘上的棋子信息?
  11. C/C++试题集——字符串篇
  12. LiveZilla 详细 配置 设置 (一) 安装 wamp
  13. 型号不同的计算机内存条可以通用么,不同频率的内存条可以混用吗
  14. linux系统修改屏幕分辨率6,Linux系统怎么更改屏幕分辨率
  15. python图像倾斜校正_霍夫变换 文本图片倾斜矫正 python实现
  16. HLOJ 2026 猴子吃桃
  17. 2016中国高校计算机大赛——大数据挑战赛极客奖:COM团队
  18. 【SICP练习】118 练习3.45【待完成】
  19. 代码和设计是如何一步步腐化的
  20. ElasticSearch中Cat接口详解

热门文章

  1. linuxprobe 正式开课
  2. MySQL 自增序号
  3. 免费学习机器学习和深度学习的源码、学习笔记和框架分享
  4. 【Linux编程】一、Linux常见指令和权限理解(思维导图总结)
  5. js 内置对象
  6. msr和esp分区有什么用
  7. 小程序利用canvas实现波浪动态图,原生canvas的部分限制
  8. python os.path.abspath()与os.path.realpath()区别
  9. TeamViewer 四个版本的功能区别(远程连接黑屏问题解答)
  10. JDBC——MySQL