# I need to plot a sine wave

400 views (last 30 days)
Francis Arthur-Worsop on 17 Nov 2016
Answered: cesar moreno on 4 Feb 2021
I need to plot a sine wave with a frequency of 15 amplitude of 4 time of 0:0.1:1 how do i go about this, thanks :-)
Rik on 13 Jan 2021
That comment sounds like a homework question. You can find guidelines for posting homework on this forum here. If you have trouble with Matlab basics you may consider doing the Onramp tutorial (which is provided for free by Mathworks). You may also consider re-reading the material you teacher provided and ask them for further clarification.

Geoff Hayes on 17 Nov 2016
Francis - from an example at fft, we can do
t = 0:0.01:1;
f = 15;
a = 4;
y = a*sin(2*pi*f*t);
plot(t,y);
Though ten samples (your t) may not be enough to accurately represent the sine wave (that you are attempting), so try
Fs = 1000;
t = linspace(0,1-1/Fs,Fs);
f = 15;
a = 4;
y = a*sin(2*pi*f*t);
plot(t,y);
Francis Arthur-Worsop on 17 Nov 2016
thank you very much :-)

Junyoung Ahn on 16 Jun 2020
clear;
clc;
close;
f=15; %frequency [Hz]
t=(0:1/(f*100):1);
a=4; %amplitude [V]
phi=0; %phase
y=a*sin(2*pi*f*t+phi);
plot(t,y)
xlabel('time(s)')
ylabel('amplitude(V)')
Sinan Islam on 25 Nov 2020
Good job!

Jos (10584) on 17 Nov 2016
This is the general formula of a sine wave. If leave it to you to fill in the numbers.
y = Amplitude * sin(2*pi*f*t + phase)

cesar moreno on 4 Feb 2021
If you need to load the generated data into an array of length N
then,
int k (the index of the array)
int N (the number of points in the data array)
The ARRAY holds values of type FLOAT example: array is called data[N] each location is a FLOAT
y = Amplitude * sin(2*pi*f*t + phase)
for k = 0 to N (load one location at a time)
data[k] = Amplitude * sin( ((2*pi*f*k)/N) + phase )