How to generate a sine curve?

I want to generate a sine curve with a frequency of 1 Hz, amplitude of 0.2, and for a time of 15 seconds. I want the sampling rate to be 30 samples per second. This is something that I have so far:
Amp = 0.20;
Freq = 1;
Time.Val = [0:482-1];
Sig = Amp*...
sin(Freq*2*pi*Time.Val);
However, I keep getting an error. Can anyone help?

4 Comments

Matt J
Matt J on 26 Feb 2013
Edited: Matt J on 26 Feb 2013
You forgot to copy/paste your error messages for us, but it probably has to do with AMP.Mod.Time. You should show us how that's generated, too.
per isakson
per isakson on 26 Feb 2013
Edited: per isakson on 26 Feb 2013
Whit does AMP.Mod.Time stand for? Is it defined?
Sorry everyone, AMP.Mod.Time should just be Time.Val. I am not actually getting an error, but my plot is weird, I am not getting 1 cycle per second, where each cycle has 30 samples.
hi Sarah; you get one period because the time axis is not sampling with F=30Hz; beside you code does nt respect Nyquist condition

Sign in to comment.

 Accepted Answer

hi, try :
Fs=30;
t=0:1/Fs:15-1/Fs;
Amp=0.5;
F=1;
x=Amp*sin(2*pi*t*F);
figure, plot(t,x)

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!