前言

在通信仿真的时候,很多情况下数据量过大导致运行时间很长。为了方便跟踪进度,我们就需要进度条来将进程可视化。


一、基本原理

进度条的使用通常配合程序中的for循环来完成,每次循环中都更改一次进度数值并进行显示。

二、代码范例

代码如下(示例):

h=waitbar(0,'please wait...'); %打开进度条,命名是为了方便关闭
%设置双缓存,为了防止在不断循环画动画的时候会产生闪烁的现象
set(h,'doublebuffer','on');
for i=1:100if i>=88waitbar(i/100,h,'计算即将完成');  %逐步显示进度条pause(0.05);    %实际仿真的时候不必暂停显示else%更改进度条显示内容str=['正在计算中',num2str(i),'%...'];waitbar(i/100,h,str);pause(0.05);end
end
close(h);   %关闭进度条

其中,第三行代码设置双缓存的意义在于减少进度条显示画面闪烁。

因为一般绘制一帧图形的时间比较长,如果直接在“屏幕”上绘制的话,用户就会看到这个绘制的过程,导致闪烁现象。所以很多时候都是在某一块显存区域中先画好,然后直接将这块内存区域的内容搬移到“屏幕”上。内存搬移的速度非常快,所以用户看到的就是一帧中的内容同时显示出来的效果。后者就被称为“双缓冲”技术。


参考

代码主体来自于哈工大“通信系统仿真”课程PPT。

部分代码解释来自于参考链接

MATLAB 进度条相关推荐

  1. 如何diy一款MATLAB进度条?

    0效果 1来由 首先我有个程序需要用到进度条,我首先试了一下MATLAB自带的进度条: bar=waitbar(0,'读取数据中...'); % waitbar显示进度条 for i=1:1000A( ...

  2. matlab 进度条/waitbar 显示运行进度

    当运行大程序,需要跑大量数据的时候,使用进度条可以看到程序究竟运行到什么地方了,哈哈,要不干等着难受(╯﹏╰)-- waitbar的作用是打开或者更新进度条. 1 语法结构 (1.1) h = wai ...

  3. matlab进度条的使用

    本文将介绍进度条的两种使用方法:基础用法和带取消按钮的进度条 一.waitbar进度条的基础用法 1.进度条的创建 进度条在创建的同时可进行相关配置,本文仅讲最简单的用法,对更多内容感兴趣的同学可参考 ...

  4. 进度条设置_项目功能分解4:MATLAB GUI如何设计有特色的进度条。

    常用的修改进度条的方法这里就不介绍了,太丑了.这里提供一种自主设计进度条的方法,上图抛砖引玉. 使用控件为静态文本TXT(单行文本框),改变的属性是Position.具体做法如下: 1.确定静态文本初 ...

  5. 【Matlab】for循环进度条显示百分比进程和剩余时间

    1.Introduction 又用回了Matlab,竟然发现之前写的进度条没有总结过,又去翻了遍代码,整理如下: 2.Materials and methods 百分比思路:目前迭代轮次 / 总轮次 ...

  6. matlab gui 中指定axes窗口画进度条

    转自:http://www.ilovematlab.cn/thread-61732-1-1.html 当matlab 的gui中有多个axes窗口时,指定一个axes窗口作为进度条窗口 functio ...

  7. MATLAB程序强制终止时进度条关不掉怎么办?看这里

    当我们MATLAB程序提前终止时,函数里面创建的进度条,没有跑到delete进度条,退到主函数又找不到进度条创建的句柄,点击进度条的×又关不掉,close all 又没有用,每次都要重启MATLAB, ...

  8. matlab gui停止键,MATLAB GUI给进度条添加取消按钮来中途结束程序

    编写程序遇到的问题,中途关闭进度条会报错,加入这个取消代码就好了 %第一种 hWaitBar = waitbar(0, '请等待...', 'Name', '进度条', 'CreateCancelBt ...

  9. matlab gui uiwaitbar,MATLAB GUI嵌入进度条(waitBar) | 学步园

    基本就是参考:http://www.ilovematlab.cn/thread-61732-1-1.html,改了点点方便用 function mywaitbar(x,num,varargin) if ...

最新文章

  1. 微服务网关 Kong 快速上手攻略
  2. 岗位内推 | 微软亚洲互联网工程院自然语言处理组招聘
  3. 云+X案例展 | 电商零售类:WakeData助力叁拾加数字化变革
  4. 复试复旦大学计算机博士,【华慧推荐】2018年复旦大学博士面试成功经验分享...
  5. UNICODE与ASCII码的关系(MTK)
  6. 恒丰银行微服务架构优化实践
  7. 【转】斐波那契数列算法分析
  8. 如何爬取中国近十年的GDP,并写入csv文件?
  9. 新浪微博爬取笔记(4):数据清理
  10. 《东周列国志》第七十八回 会夹谷孔子却齐 堕三都闻人伏法
  11. 【教程】通过lothelper实现短信接收测试
  12. CUDA入门技术路线及基础知识
  13. 企业如何借助制造业ERP系统,做好生产排产管理?
  14. linux 无线网络连接不上网,linux无法连接wifi,不显示wifi
  15. 计算机微图表的类型,说说Excel中的微图表
  16. Latex学习笔记 (Ex4)希腊字母、罗马字母一览表
  17. UG编程-适合新手的详细讲解
  18. jieba分词词性标注含义
  19. 手机通讯录被删除后怎么恢复
  20. java制表键_java-制表符的使用说明

热门文章

  1. HTML基础知识(十一)——渐变
  2. 总结篇:性能问题分析及优化的一般方法,工具速查
  3. vue scoped和scoped穿透
  4. android 资源网址总结
  5. 有了ERP,工厂有必要再部署一套WMS仓储管理系统吗
  6. linux运行qt桌面生成pro怎么写,把桌面qt代码编译运行到qpe上的一个例子
  7. 水库雨水情安全监测 自动测报
  8. 学习的第一天,人狗大战1v1初试
  9. 生活娱乐 杜甫很忙图片全集
  10. 这个世界上最重要的人是你自己