I get Vectors must be the same length. error

3 views (last 30 days)
adrixas
adrixas on 12 Apr 2017
Answered: Star Strider on 12 Apr 2017
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 Comments
Jan
Jan on 12 Apr 2017
I've edited the code today. Please use the "{} Code" button the next time. Thanks.
Manashee Malita
Manashee Malita on 12 Apr 2017
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

Sign in to comment.

Answers (1)

Star Strider
Star Strider on 12 Apr 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));

Categories

Find more on Printing and Saving in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!