我有:
hann10=hanning(10);
b = repmat(hann10,[1 5]);
smooth10=conv(fragments,b,'same');
然而,这会引发错误:
Error using conv (line 27)
A and B must be vectors.
我基本上想要通过相同的hann窗口平滑fragments
包含多个但大小相同的列(即100x5),将窗口应用于每个列,就像它是一个单独的向量一样。
最好的方法是什么?
答案 0 :(得分:1)
conv2
如果你给它一列作为第二个参数,则按列进行卷积。所以只需使用:
smooth10 = conv2(fragments, hann10, 'same');
答案 1 :(得分:0)
很可能使用for:
hann10=hanning(10);
for ii=1:size(fragments,2)
smooth10(ii,:)=conv(fragments(:,ii),hann10,'same');
end