在工作上,经常碰到需要对曲线进行平滑处理,特别是数据进行频谱分析时。
好了,不多说了。
直接一段代码贴出:
wind_w = 0.1 ;
tmp_H6 = tmp_H2;
for i=(fix((10^(wind_w/2)))+1):(fix(length(tmp_H2)/(10^(wind_w/2))))
index_start = fix(i/(10^(wind_w/2)))+1;
index_end = fix(i*10^(wind_w/2))+1;
tmp_H6(i)=sum(tmp_H2(index_start:index_end))/(index_end-index_start+1) ;
end
其中,tmp_H2是要平滑的曲线。tmp_H6是平滑后的曲线。如下图: