i am not getting correct output for this plot

t=0:0.01:1; a=cos(2*pi*100*t); plot(a);

2 Kommentare

madhan ravi
madhan ravi am 16 Aug. 2018
I think you want to do fft analysis?
chetan meti
chetan meti am 16 Aug. 2018
no.i want to plot cosine wave with frequency of 100 hz.i am a beginner

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Stephan
Stephan am 16 Aug. 2018
Bearbeitet: Stephan am 16 Aug. 2018

0 Stimmen

Hi,
the reason for this behavior is that your sampling rate (t) is 100 Hz. The steps of t = 0.01 and the integer multiples of 100 result in the calculation of a, being always an integer multiple of 2 * Pi. This always results in 1. If you want to calculate for 100 or Integer multiple from 100, you should change the sampling rate. Maybe a prime number which is not in your range to calculate is a good choice.
So it can be said, that the plot is correct, but it is not doing what you expected for the reason mentioned above.
EDIT:
In addtion, you should have a look what happens, if you do 50 or 25 - this will not be a cosine wave but a Kind of sawtooth, which is also a result of the sampling rate t=0.01 you have choosen. By choosing 50 you get an a which is always -1 1 -1 1 -1 1...
It gets even worse if you use 33 or 34 - try that. Then suddenly it looks as if you are dealing with superimposed oscilations, although this is definitely not true, because if you scan with t = 0.001, you recognize the correct behavior.
So you should think about the range of your values and then choose a sampling rate which is giving you the expected results.
Best regards
Stephan

Weitere Antworten (0)

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by