我有一个匹配滤波器,我想在 Matlab 中绘制它的频率响应。
我试图用以下方式绘制它:
%Freqency_Response_of_wiener_filter
f = linspace(-1e3,1e3,1e5);
H = ((2*pi*f)^2+10^6)/(11*(2*pi*f)^2+10^6+10^4);
plot(f,H);
xlabel('f')
ylabel('H(f)')
这不起作用,给了我“矩阵尺寸必须同意”的错误。然后我读到了“element-wise power”,它似乎完全符合我的需要,并改为H
:
H = ((2*pi*f).^2+10^6)/(11*(2*pi*f).^2+10^6+10^4);
这确实有一些情节,只是不是我想要的:)我也试过了
H = ((2*pi)^2*f.^2+10^6)/(11*(2*pi)^2*f.^2+10^6+10^4);
没有运气。我让它工作的唯一方法是:
%Freqency_Response_of_wiener_filter
f = linspace(-1e3,1e3,1e5);
for i=1:length(f)
H(i) = ((2*pi*f(i))^2+10^6)/(11*(2*pi*f(i))^2+10^6+10^4);
end
plot(f,H);
为什么“元素方面的力量”对我不起作用?
不仅如此 - 常规操作与“元素操作”之间到底有什么区别?因为,例如,在这里:An Introduction to Matlab,有这样的情节:
a = 0:.01:5;
b = cos(2*pi*a);
plot(a,b)
然后这个:
x = 2:.1:4;
y = 1./x;
plot(x,y)
xlabel('x');
ylabel('y');
我无法分辨它们之间的任何区别。为什么第一个不需要“元素操作”,而第二个需要?
谢谢。