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

Matlab progressbar

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    如果matlab在运行需要很长时间的程序,或者是要循环很多遍的时候,用户就不知道程序运行到了什么地方了。每次输出循环变量i是一个办法,但太丑陋了。Matlab提供了waitbar函数。简单运行如下:$ f& ?0 W0 q) M) m3 s, N
    h = waitbar(0,'Please wait...');
    ' n4 }6 p4 e* w$ Un = 1000;
    - D+ \% [5 v, p0 T: \) O$ q3 k6 yfor i = 1:n
    / t3 [' e4 I& v$ [* z    pause(0.01) % Do something important0,7 ^& {$ @4 f! z+ p! V
        waitbar(i/n,h), C) w! Z5 g0 E
    end2 a/ Z7 o4 q& Y" H2 w  d8 r7 z
    , ~0 W  ]" k- [

    / @9 W* P1 ]% B6 q. U$ z9 S/ n: d% Z
    3 w9 }1 Q6 }* n) W8 Z
    这个函数有三个缺点:
    * C# J7 V8 _  p7 B/ h0 C" i1. 没有显示完成的百分比
    : M, S+ p4 |( y1 k2 ^2. 没有显示剩余完成时间9 N. P6 H5 ?  ^" l$ f) D* [
    3. 中途无法关闭waitbar4 l# b4 W1 Q. i4 D
    * N) y+ [+ P, |. ^0 f7 f4 R
    有人改进了这个函数9 x/ \* H0 _$ j; i/ w
    ! {7 Q. O/ F- J, Q7 E$ ^: ^7 ^
    clear all;n = 1000;
    7 {1 F# |& l2 ^6 y# Lfor 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] position9 g3 b0 Z; s) _: c5 W
    ( Y1 h4 l. m* A* L9 z

    - P$ P; [- O1 Q% H2 T- r8 b) C, a
    7 U( o$ q5 R' x6 ]% L. Z& c$ E1 @
    ! U; j5 C. }& f7 N7 i, B另外还可以去下载到另一个版本的waitbar8 f) _& |7 N7 C4 F; x
    h = waitbar(0,'Please wait...');
    $ D; L1 L/ y+ V; ?- Wn = 1000;5 n6 Q# [0 p" I( y" q
    % progressbar % Create figure and set starting time, f( U. D9 ^* p2 ?2 O8 ]
    for i = 1:n( m# L; j* S" c0 H
        pause(0.01) % Do something important0,
    ' G( Y- y5 b0 o- [& I7 V    waitbar(i/1000,h)' Q$ d6 v  o1 Q( y; T4 q1 Q; _
    end
    5 w7 K: M9 ~6 P+ n
    . b- H, N% n0 i" ^' g* H 1 W$ Y( q% b, q3 z
    这个版本的一个问题就是,当中途关闭waitbar时,会有错误提示。
    " j% A/ d3 U$ U& v! ^0 j推荐使用第一个版本的。
    ) @) P' U: i2 ~- f# z( P' G
    6 ]3 ]' l3 Z% B
    ! j4 u% `: E- `6 Q6 O

    该用户从未签到

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

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-8-16 14:41 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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