标签: matlab vectorization moving-average
我编写了一个脚本来使用for-loop计算向量的简单移动平均值:
X=rand(1000,1); Y=nan(size(A)); for i=100:length(A); Y(i)=mean(X(i-99:i)); end
我可以使用任何矢量化方法来避免循环吗?感谢。
答案 0 :(得分:0)
如果您有曲线拟合工具箱,则可以使用卷积(conv)或smooth轻松避免循环。
conv
smooth
filterSize = 5; Y = conv(X, ones(1, filterSize) / filterSize, 'same'); % Or with the curve-fitting toolbox Y = smooth(X, filterSize);