Why is plot using range of values with increments not proper?

I am a begginer using matlab for college lab. I am trying to experiment with the range with increment operation and I notice some weird output.
When I use greater increment values the output starts becoming wrong but when i use smaller increment values the output become correct. I have attached the code below and their respective outputs for reference
F = 2000;
t = 0.99:0.001:1;
x = sin(2*pi*F*t);
plot(t,x);
In the above code, in the y axis output the values go above the normal sine range [-1,1]
F = 2000;
t = 0.999:0.00001:1;
x = sin(2*pi*F*t);
plot(t,x);
While for this code the output works percectly.
Could anyone please give an insight in this?
Thank you

 채택된 답변

DGM
DGM 2022년 1월 4일
편집: DGM 2022년 1월 4일
"In the above code, in the y axis output the values go above the normal sine range [-1,1] "
No they don't. Look at the labels again. All of those values are close to zero. It's just a matter of aliasing. There are only 11 samples.
F = 2000;
t = 0.99:0.001:1;
x = sin(2*pi*F*t);
plot(t,x,'*'); hold on;
% plot the exact same thing with more points
t = linspace(0.99,1,1000);
x = sin(2*pi*F*t);
plot(t,x);

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Numeric Types에 대해 자세히 알아보기

제품

릴리스

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by