监视matlab变量,MATLAB如何添加程序的监控

如果一个程序运行需要几个小时或者更长的时间,这样的程序,如果中途没有任何输出和显示的话,用户不知道这个程序何时结束,这非常不方便。这样的程序,一般是需要添加用时的监控的。

这里以一个最简单的循环举例,x=0,每次循环,x=x 1.

1、基本参数设定

clc,clear,close all

x = 0;

n = 10000000;

2、设定输出间隔

reportInterval = 1000000;

为什么要有间隔呢?因为如果每一步都输出的话, 一是这样没有必要,二会占用大量的计算时间,三是会增加系统内存消耗。。

3、获取初始时间

t = cputime;

4、检测输出间隔

这个可以用同余去做,matlab函数未mod,比如,10/2 = 5余0,则mod(10,2)=0.

10/3=3余1,则mod(10,3)=1.

我们用n/reportInterval,如果余数是0,则输出。代码为

if ~mod(i,reportInterval)

输出!

end

5、计算消耗时间

这个可以用e  = cputime-t,来计算,

cputime函数获取当前步骤时间,减去初始时间t,得到消耗时间e.

6、输出计算进度和时间

自然是用fprintf函数去写,当然也可以输出到文件。

fprintf('当前运行了%8.2f%%, 用时%8.2fs\n',i/n*100,cputime-t)

%%是输出%,\n是回车,8.2f是指总共占8位,小数点占2位。

7、全部代码

clc,clear,close all

x = 0;

n = 10000000;

reportInterval = 1000000;

t = cputime;

for i = 1:n

x = x 1;

if ~mod(i,reportInterval)

fprintf('当前运行了%8.2f%%,

用时%8.2fs\n',i/n*100,cputime-t)

end

end

8、效果如下

当前运行了  10.00%, 用时  0.02s

当前运行了  20.00%, 用时  0.03s

当前运行了  30.00%, 用时  0.06s

当前运行了  40.00%, 用时  0.08s

当前运行了  50.00%, 用时  0.13s

当前运行了  60.00%, 用时  0.16s

当前运行了  70.00%, 用时  0.22s

当前运行了  80.00%, 用时  0.25s

当前运行了  90.00%, 用时  0.31s

当前运行了  100.00%, 用时  0.34s

9、over!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值