加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

MATLAB的waitbar(进度条)函数

(2016-04-09 13:10:30)
标签:

matlab

分类: MATLAB

Matlab中的help“waitbar”得到应用之一:

h = waitbar(x,'message');其中x必须为01之间的数,message为显示的信息,

举例如下:

hwait=waitbar(0,'请等待>>>>>>>>');

得到:

http://s11/mw690/002mTGVGgy70FEB2R065a&690


应用之二:

waitbar(x,h,'updated message');

x为显示的进度,必须在01之间h为所建立的waitbar的句柄,updated message为实时显示的信息,此语句经常地用于for循环中,如下所示:

steps=100;
hwait=waitbar(0,'
请等待>>>>>>>>');
for k=1:steps
    if steps-k<=5
        waitbar(k/steps,hwait,'
即将完成');
        pause(0.05);
    else
        str=['
正在运行中',num2str(k),'%'];
        waitbar(k/steps,hwait,str);
        pause(0.05);
    end
end
close(hwait); %
注意必须添加close函数

结果如下所示:

显示正在运行中:

http://s13/mw690/002mTGVGgy70FECT3Q08c&690


显示即将完成:

http://s14/mw690/002mTGVGgy70FEDxrqZ9d&690


上例子中,当循环步骤刚好是100,但是如果循环不是100的时候,要作小小的改变,举例如下:

steps=150;
hwait=waitbar(0,'
请等待>>>>>>>>');
step=steps/100;
for k=1:steps
    if steps-k<=5
        waitbar(k/steps,hwait,'
即将完成');
        pause(0.05);
    else
        PerStr=fix(k/step);
        str=['
正在运行中',num2str(PerStr),'%'];
        waitbar(k/steps,hwait,str);
        pause(0.05);
    end
end
close(hwait);

结果如上面的所示,效果一致。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有