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 commentaires

Matt J
Matt J le 26 Fév 2013
Modifié(e) : Matt J le 26 Fév 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 le 26 Fév 2013
Modifié(e) : per isakson le 26 Fév 2013
Whit does AMP.Mod.Time stand for? Is it defined?
Sarah
Sarah le 26 Fév 2013
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.
Youssef  Khmou
Youssef Khmou le 26 Fév 2013
hi Sarah; you get one period because the time axis is not sampling with F=30Hz; beside you code does nt respect Nyquist condition

Connectez-vous pour commenter.

 Réponse acceptée

Youssef  Khmou
Youssef Khmou le 26 Fév 2013

0 votes

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)

Plus de réponses (0)

Catégories

En savoir plus sur Get Started with Curve Fitting Toolbox dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by