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

Jan
Jan 2017년 4월 12일
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

댓글을 달려면 로그인하십시오.

답변 (1개)

Star Strider
Star Strider 2017년 4월 12일

0 개 추천

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));

카테고리

도움말 센터File Exchange에서 MATLAB에 대해 자세히 알아보기

태그

질문:

2017년 4월 12일

답변:

2017년 4월 12일

Community Treasure Hunt

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

Start Hunting!

Translated by