关于使用Matlab时不注意clear的使用而浪费两个小时这件事

事件回顾

我在编写一个程序,程序中包含大量的循环运算,其中还使用了大量序号索引(如i_name1, i_name2等)。我对每块程序进行分段,并定期清理不用的变量和序号索引。

程序已经差不多写好了,我开始代码清理。再次运行程序时,我发现运行时长变成了原来的两倍。而我的程序的优势就是要运行时长更少……

故障排除

过程痛苦,简略描述一下:恢复到昨天的备份,然后凭记忆一步一步添加修改。最后发现,我删除了两个序号索引的声明,但是"clear 变量1 变量2……"语句中,仍然包含这两个序号索引。例如:

for i_iter = 1:...

	% i_a = ...;    % 这两个索引已经被注释了
	% i_b = ...;

	......    % 业务逻辑代码段

	clear ... i_a i_b ...    % 这里面没有去掉上面提到的两个索引,程序运行时长加倍

end

怒而去掉clear中不该有的这两个索引,运行时长居然恢复如初。

结论与教训

先说结论,使用clear语句必须小心,不得添加未声明的变量。
教训就是要严格备份文件,争取30分钟备份一次。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值