Trying to plot a sine wave, getting a straight line.

10 views (last 30 days)
I need to create a time series using x(n)=sin(2pi/N)*n where N=256 and plot the amplitude. I keep getting a straight line instead of a sine wave. Any pointers?
%Create time series x(n)
N=256;
x=zeros(N,1); %allocate space
for n=1:N;
x(n)=sin((2*pi)/N)*n;
end
%Plot x(n)
figure(1)
n=0:255;
plot(n,x(1:N))
xlim([0 255])
ylim([-120 120])
xlabel('n')
ylabel('Amplitude')
title('x(n)'

Accepted Answer

Roger Stafford
Roger Stafford on 9 Feb 2018
You have placed your ’n’ variable outside the parentheses for the sine function. That would make it a straight line. It should be this to get a sine curve:
x(n)=sin(2*pi/N*n);

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!