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

Matlab中的waitbar(进度条)的应用……(显示程序运行的百分比)

(2011-01-04 10:00:00)
标签:

杂谈

分类: Matlab

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

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

举例如下:

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

得到:

http://s4/middle/4d633dc7498fbac898b63&690
应用之二:

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

x为显示的进度,必须在0到1之间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://s6/middle/4d633dc7498fbbb052c65&690

显示即将完成:

http://s6/middle/4d633dc7498fbbc3fd2c5&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);

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

success……哈哈……

0

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

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

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

新浪公司 版权所有