I get Vectors must be the same length. error

Hello, maybe someone know why I get this error?
F=1000;
Fn=F/2;
f=[0:20:160 180 200 220 240:20:500] ;
am=[ones(1,9) 0.9 0.5 0.1 zeros(1,14)];
fn=f/Fn;
N=32;
a=1;
b=firls(N, fn, am);
H=freqz(b, a, 1000);
w=hamming(N);
figure(2);
plot(w*Fn/pi, abs(H));
Thanks in advance

2 commentaires

Jan
Jan le 12 Avr 2017
I've edited the code today. Please use the "{} Code" button the next time. Thanks.
For the function "plot(x,y)", if x and y are some vector or matrix, they must have same length or size. If you assume x=w*Fn/pi and y=abs(H), then you can observe that the size of x and y are different. Regards M.Kalita

Connectez-vous pour commenter.

Réponses (1)

Star Strider
Star Strider le 12 Avr 2017
Request 2 outputs from your freqz call, rather than creating your own frequency vector:
[H,w]=freqz(b, a, 1000);
figure(2);
plot(w, abs(H));

Catégories

En savoir plus sur Printing and Saving dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by