我惊讶地发现运行 MATLAB for 循环之间的成本差异如下:
ksize = 100;
klist = 1:ksize;
tic
for m = 1:100000
for k = 1:ksize
end
end
toc
tic
for m = 1:100000
for k = klist
end
end
toc
唯一的区别是创建索引列表的方式。我会怀疑第二个版本更快,但是看!
Elapsed time is 0.055400 seconds.
Elapsed time is 1.695904 seconds.
我的问题是双重的:是什么导致了上述结果,以及这种细微差别(或类似的细微差别)在 MATLAB 编程中还出现在哪里?我希望将来能够更好地发现这些低效率。谢谢大家。