一个向量化例子
之前的观点是Matlab的向量化的计算效率比for循环高。
今天考察一个例子,计算10000个随机数相加, 平台是Matlab 2018b。
先说结论:进行预定义矩阵尺寸的for循环并且减少循环中的重复计算的情况下,效率比自带函数的效率要高。
从此看出,提高效率的关键在于定义矩阵尺寸,而向量化不能有效的提高计算速度。
计算结果:
直接for循环: 0.002595 seconds
预定义数组for循环时间: 0.001345 seconds
预定义数组for循环,计算好变量时间: 0.000789 seconds
直接向量化时间: 0.000987 seconds
%% 简单for循环
tic;
dt = 1/n;
w(1) = 0;
for i=1:n
w(i+1) =