Why this code gives error?
3 views (last 30 days)
Show older comments
clear all
close all
N=1001;
f1=1.0000e9;
f2=1.0200e9;
fs=4*f1;
w1=2*pi*f1/fs;
w2=2*pi*f2/fs;
n=0:N-1;
s1=sqrt(1.00)*exp(i*w1*n);
s2=sqrt(0.10)*exp(i*w2*n);
wn=sqrt(0.10)*(randn(1,N)+i*randn(1,N));
x=s1+s2+wn;
x=x(:);
f=0:fs/(N-1):fs;
FFT_abs=abs(fft(x));
plot(f,20*log10(FFT_abs/max(FFT_abs)),'linewidth',3,'b+-');
It gives this error:
Error using plot
Data must be a single matrix Y or a list of pairs X,Y.
0 Comments
Accepted Answer
KSSV
on 3 May 2021
Use:
plot(f,20*log10(FFT_abs/max(FFT_abs)),'color','b','linewidth',3);
0 Comments
More Answers (3)
Walter Roberson
on 3 May 2021
plot(f,20*log10(FFT_abs/max(FFT_abs)),'b+-','linewidth',3);
Named options must always go after all positional parameters.
0 Comments
Mathieu NOE
on 3 May 2021
hello
it works better this way :
plot(f,20*log10(FFT_abs/max(FFT_abs)),'b+-','linewidth',3);
5 Comments
See Also
Categories
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!