how can i plot this sin wave as shown
7 次查看(过去 30 天)
显示 更早的评论
hello everyone and thanks in advance for help, i'm asked to plot this sin wave shown in the image below and i have to only get the first wave with the points on the graph. Now i have used this code in order to do so where i put
t = 0:pi/50:2;
s = sin(2*pi*t);
plot(t,s)
but when i get the plot i always get two waves and i must get only one with the specified points. help anyone and ty.
0 个评论
采纳的回答
Image Analyst
2016-3-20
编辑:Image Analyst
2016-3-20
Very close, but the formula for a sine wave is Amplitude * sin(2*pi*x / period). If you do that, what do you get?
period = ??????; % You do this.
t = linspace(-1, 3, 500);
s = sin(2 * pi * t / period); % Now using the proper formula
plot(t,s, 'b-');
% Fancy up the graph, just for fun...
grid on;
% Plot Y axis
line([0,0], ylim, 'Color', 'k', 'LineWidth', 2);
% Plot x axis
line(xlim, [0,0], 'Color', 'k', 'LineWidth', 2);
yLabel('s', 'FontSize', 20);
xLabel('t', 'FontSize', 20);
更多回答(1 个)
John D'Errico
2016-3-20
编辑:John D'Errico
2016-3-20
What is the period of the sine function? Answer: 2*pi
If t goes from 0 to 2, then how many periods do you expect to see? Remember, your function is sin(2*pi*t). Hint: 2*pi*2 = 4*pi.
Therefore one should EXPECT to see 2 periods. Why are you surprised?
By the way,
t = 0:pi/50:2
may be a poor choice, if you really wanted to go all the way out to t==2. The last point will fall short, since you used an increment of pi/50.
A better choice may have been to use linspace.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!