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

Matlab progressbar

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    如果matlab在运行需要很长时间的程序,或者是要循环很多遍的时候,用户就不知道程序运行到了什么地方了。每次输出循环变量i是一个办法,但太丑陋了。Matlab提供了waitbar函数。简单运行如下:" R6 ^3 r  N4 o5 u. E2 E- e& s1 _
    h = waitbar(0,'Please wait...');* Z. I# S; Q( ?( x& {
    n = 1000;
    + k9 }; V- ^0 U; u* m5 j6 a- y) lfor i = 1:n
    % m9 J* Z: e. n  M    pause(0.01) % Do something important0,. a% F8 B& k1 z9 y  N& k* m: l/ o
        waitbar(i/n,h)( I/ O  ]8 ~/ [" }7 B
    end
    4 P, J, u8 M: s/ Q+ P8 ]$ ?4 |
    , k' o2 T- ]: S2 e! X6 y" A8 K* \
    5 r5 B3 l' b2 X" r7 X$ O5 `# F1 T  g0 Q
    ) D. _+ r! o/ S! s' @
    这个函数有三个缺点:
    ) A& z9 @  J( V3 c: @3 h2 e. U0 v1. 没有显示完成的百分比
    9 q) n0 f" [: M. S  }0 V+ \  X2. 没有显示剩余完成时间4 q: P) P6 z6 S4 T* K
    3. 中途无法关闭waitbar
    ( H+ {( k! u5 G5 D$ g, [2 ^; ^" U
    有人改进了这个函数8 l; a+ \8 U( B, L2 H+ t4 M
    ! F* x6 O) b$ @% D2 l- W
    clear all;n = 1000;
      l* w+ N+ a0 l* o' e  F) V" Ffor 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] position2 k/ B' d- h8 y

    0 u4 D' _$ x- M) V& h* l7 s3 ~8 Y0 i$ A3 h& X! @) {" `

    3 {6 k9 s- O# M2 q1 f" v9 B3 Y, k& v+ _  t( g
    另外还可以去下载到另一个版本的waitbar. k: U6 Q6 I! T6 [% f4 z/ s3 V
    h = waitbar(0,'Please wait...');
    $ L& p( \& `' i, L9 d2 e# r1 ?, qn = 1000;5 S2 n/ l. o, g
    % progressbar % Create figure and set starting time9 I$ Q% O" V+ ?$ k) |9 l9 ^$ Y6 u
    for i = 1:n
    $ O/ P5 Q1 }1 B; }2 g    pause(0.01) % Do something important0,3 G/ Y2 }# j9 J: U" w  j
        waitbar(i/1000,h)* G0 k9 n* b3 ~% r3 k0 R
    end
    - j0 O! n9 ]4 ~& c6 E
    ; F( O! Y3 z, \; ?8 T' U% {7 u5 b$ v ' _  S+ p. a: o3 I
    这个版本的一个问题就是,当中途关闭waitbar时,会有错误提示。
    , M  X# `6 a) R1 I& \9 \$ [推荐使用第一个版本的。
    : U1 z( e; U$ i5 r# T1 p; p
    9 y9 D/ J8 \! g1 n  j) a7 S5 \" y/ ?8 D0 A6 w; T$ x; X

    该用户从未签到

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

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-25 00:12 , Processed in 0.171875 second(s), 27 queries , Gzip On.

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

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

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