找回密码
 注册
关于网站域名变更的通知
查看: 500|回复: 1
打印 上一主题 下一主题

Matlab progressbar

[复制链接]
  • TA的每日心情

    2019-11-20 15:22
  • 签到天数: 2 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2020-7-31 13:42 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    如果matlab在运行需要很长时间的程序,或者是要循环很多遍的时候,用户就不知道程序运行到了什么地方了。每次输出循环变量i是一个办法,但太丑陋了。Matlab提供了waitbar函数。简单运行如下:
    3 ~2 e: }. ]' M1 b' w# y3 e" C- V- }h = waitbar(0,'Please wait...');+ k+ ~  }% _. `( c. h9 ~
    n = 1000;
    6 s: ~6 F, j4 I6 u. R1 Q  `for i = 1:n
    % w. V% j$ m9 o    pause(0.01) % Do something important0,! M5 f4 P: y3 F% d& _+ N
        waitbar(i/n,h)
    ' q2 P+ P/ S1 }8 z! gend1 g" L" q- ~) J2 u1 ?1 Z- v/ f
    4 a) D. t/ \( \! q7 o! v' V: [
    , W( g! [! Q$ ^2 s9 ]
    . L$ J" R1 [& u7 R

      P/ @% n7 p6 H% U& r. h# z; A这个函数有三个缺点:& x+ Z- M  g+ F1 D% \* q% g
    1. 没有显示完成的百分比
    ) M3 k$ ?$ e/ v6 |) M" R2. 没有显示剩余完成时间$ G0 F0 s, ?# f( c
    3. 中途无法关闭waitbar
    ; N& l- i7 l, {2 A3 _. i3 j# T; @1 j/ U2 A
    有人改进了这个函数
    " A  U7 a7 ?  i* v& {# ~
    1 ]" p) f1 m* l/ Zclear all;n = 1000;
    2 o0 A! Y- ]" d( Y# ^for i = 1:n  stopBar= progressbar(x/n,0);   if (stopBar) break; end   end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%progressbar需要两个输入变量,第一个,完成百分比,第二个,位置。
    • [x, y] - Position of lower left corner in normalized units (0.0 - 1.0)
    • 0 - Centered (Default)
    • 1 - Upper right
    • 2 - Upper left
    • 3 - Lower left
    • 4 - Lower right
    • 5 - Random [x, y] position
      : m3 }$ X& W; ]! t
    ) y8 ~  l" _' c/ f+ @) |

    ' A& T  L! T% L& _  [  ]! E2 X3 |' r1 O, w- T, L

    ! e3 e5 r9 l/ M另外还可以去下载到另一个版本的waitbar2 P$ B7 S3 ~4 \$ k$ n3 P; |( i
    h = waitbar(0,'Please wait...');
    0 r1 D7 h! Z* [! b* M9 g- G/ Dn = 1000;
    + w9 ~8 w9 Y& V1 I% progressbar % Create figure and set starting time) Y$ y; I# p8 |( l1 c, I4 u, W: M
    for i = 1:n  b) v7 U* m1 ^* U, W+ {9 r9 s
        pause(0.01) % Do something important0,7 w$ v9 r) z$ m! v2 Z. ?
        waitbar(i/1000,h). [2 s  h& {5 U$ G2 L' k$ n; l. Y
    end
    ; ]! ?3 P' K& i, v! X; ?
    ) b8 r; i  u# P7 A1 h5 `
    / Y& u  E4 I. V9 P; f( q  z9 [这个版本的一个问题就是,当中途关闭waitbar时,会有错误提示。5 W  Q6 v" v0 i6 Y" R! J- z( J
    推荐使用第一个版本的。
    . d- m5 Q7 `' Z& S! R8 {1 g& J9 P6 j; G5 w  \/ K: S
    $ |! T7 f3 r  b+ u! I* t6 F

    该用户从未签到

    2#
    发表于 2020-7-31 14:39 | 只看该作者
    Matlab progressbar
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-24 22:13 , Processed in 0.171875 second(s), 26 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表