QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 11286|回复: 3
打印 上一主题 下一主题

查看matlab程序运行进度

[复制链接]
字体大小: 正常 放大

22

主题

9

听众

653

积分

升级  13.25%

  • TA的每日心情
    奋斗
    2014-8-29 14:46
  • 签到天数: 45 天

    [LV.5]常住居民I

    自我介绍
    有勇气,有毅力,有信心

    社区QQ达人

    群组: 第四届cumcm国赛实训

    群组: Matlab讨论组

    群组: 学术交流A

    群组: 计量经济学之性

    群组: C 语言讨论组

    跳转到指定楼层
    1#
    发表于 2012-8-4 15:09 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    关于matlab中的waitbar(用于显示程序运行的进度)8 d  E8 y1 C6 p
    应用1:. U( r* h( A2 h( E+ Z4 D
    h = waitbar(x,'message'); %其中x必须为0到1之间的数,message为显示的信息,其实这个x大于1也可以啊,但是进度条总在满的状态,x是多少就对应进度条显示的比例是多少% k, {, i1 q$ w" o* j
    举例: hwait=waitbar(0,'请等待>>>>>>>>'); %这个0显示的是进度条的位置,因为是0,就在起始位置,还有就是这个hwait就是这个waitbar函数的句柄
    , P! q0 z8 P  }' X6 P! @2 W6 V4 F得到:  r# K) v4 M7 E. x0 I
    0 S3 m' R6 ~2 C# w0 O9 X# H
    应用2:! r3 v3 R8 z7 ?5 J0 v
    waitbar(x,h,'updated message'); % x为显示的进度,必须在0到1之间;h为所建立的waitbar的句柄,updated message为实时显示的信息,此语句经常地用于for循环中
    % r, ~7 o" O9 o' j# y% j举例:6 ~8 M0 |: D/ a$ E. J2 {0 e% M
    steps=100;$ D5 @$ O4 |+ M- I
    hwait=waitbar(0,'请等待>>>>>>>>');
    ) [3 E; b' k- Ifor k=1:steps
    6 a# O0 u  N; Q: b) g" Tif steps-k<=5
    ; @6 s) Q, t  twaitbar(k/steps,hwait,'即将完成'); %因为k/steps在逐步增大,所有进度条在往右走,另外,如果这个hwait不加上的话,会显示n多个进度条窗口,让你关闭不过来啊,加上之后就只显示一个了
    % ?+ g# B5 [, a% ~; k. Fpause(0.05); %延时一下啊 否则太快看不出来变化,一般有个0.01就能看出变化,但还是比较快的
    + d' o% E5 K% q( Felse
    2 t# `, f! i' k% {- m/ Q( p6 U! qstr=['正在运行中',num2str(k),'%']; %用于显示如下图中“正在运行中46%”等比例数据4 ]' P6 k. D$ N& p
    waitbar(k/steps,hwait,str);
    2 I" A' |5 T+ r3 u) G" Ypause(0.05); %pause(n)函数是程序停止n秒后继续,n可以使分数或小数。函数的分辨率根据平台而定,大多数平台都能满足0.01秒的精度。
    1 X3 d" l6 x; g% y; o8 T0 D( M+ yend2 _  ?/ a# R6 t% h, T
    end  S# d. m& p) w  f" H9 C7 f+ O
    close(hwait); % 注意必须添加close函数,也就是说运行完成后让此进度条消失) B( a: `8 o2 ]3 ?" z6 r; [5 U( K
    结果如下所示:; h+ X' w8 [9 v- u4 C; h
    显示正在运行中:$ O9 `6 _9 {, h: U$ X1 g1 z7 i
    1 e5 A% D7 ?; V& H2 S3 A5 I
    显示即将完成:9 K( Z- ~6 j9 x. ~0 \) I
    2 g7 s# [: G, }; h: c
    上例子中,当循环步骤刚好是100,但是如果循环不是100的时候,要作小小的改变,举例如下:
    * I) u! k1 T2 t+ u, ^+ f( |steps=150;
    2 I/ L6 K" C+ ?9 b' C& mhwait=waitbar(0,'请等待>>>>>>>>');
    9 t& U  ?: p7 A/ ]5 n3 ^9 u2 Kstep=steps/100; %这里step=1.5+ ^1 z( R1 d5 E& Q* X4 y
    for k=1:steps2 G6 h4 t" t$ Q( O- R7 {+ q0 c) @
    if steps-k<=57 h- k, w8 `. ^* v/ U$ j
    waitbar(k/steps,hwait,'即将完成');
    ) B! d& |% }+ c0 C0 W/ k$ u4 I' ~pause(0.05);9 l9 q' b5 L3 `1 w. `
    else. a, D) m- A4 m  {4 i
    PerStr=fix(k/step); %fix是向0靠拢取整函数
    7 W9 c- @# T+ D( ?str=['正在运行中',num2str(PerStr),'%']; %把1到150的数换算到1到100内,看占的百分比0 W' Y. i2 g. v* \( O; j$ P
    waitbar(k/steps,hwait,str);! ]% J# W! v9 Y5 A. F, m& ~' Z
    pause(0.05);* W3 k9 e4 v$ Q
    end
    3 {; B) x* r+ T( @end
    ; E" Z" q- A4 o$ ^8 nclose(hwait);3 e2 D: A8 u6 B( I$ h7 v- a1 L( s
    结果和上面是一样的! k, j4 m0 M+ f* d  e- ?
    zan
    已有 1 人评分体力 收起 理由
    darker50 + 2 让大家可以参与讨论,不错啊。

    总评分: 体力 + 2   查看全部评分

    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    呵呵
    shaox 实名认证       

    16

    主题

    42

    听众

    1061

    积分

    升级  6.1%

  • TA的每日心情
    开心
    2013-9-15 16:21
  • 签到天数: 266 天

    [LV.8]以坛为家I

    群组: 数学建摸协会

    群组: 西安交大数学建模

    群组: 学术交流A

    群组: 数学建模认证项目实训

    回复

    使用道具 举报

    22

    主题

    9

    听众

    653

    积分

    升级  13.25%

  • TA的每日心情
    奋斗
    2014-8-29 14:46
  • 签到天数: 45 天

    [LV.5]常住居民I

    自我介绍
    有勇气,有毅力,有信心

    社区QQ达人

    群组: 第四届cumcm国赛实训

    群组: Matlab讨论组

    群组: 学术交流A

    群组: 计量经济学之性

    群组: C 语言讨论组

    shaox 发表于 2012-8-4 17:13
    . d) {! N" E( e- j1 n不错,有意思~~
    0 U  u  H1 i" Z5 J4 x( b
    呵呵,有道是:美文共欣赏,疑义相与析,是也
    回复

    使用道具 举报

    greyson        

    0

    主题

    6

    听众

    143

    积分

    升级  21.5%

  • TA的每日心情
    奋斗
    2014-9-12 16:50
  • 签到天数: 41 天

    [LV.5]常住居民I

    自我介绍
    哈人

    群组: 2013年电工杯B题讨论群

    群组: 2014美赛MCMA题备战群

    群组: 2014美赛MCMB题备战群

    群组: 2014美赛ICMC题备战群

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-10-17 03:32 , Processed in 1.277472 second(s), 72 queries .

    回顶部