今天我在matlab中偶然发现了一个奇怪的结果.让我们说我有一个正弦波
f = 1;
Fs = 2*f;
t = linspace(0,1,Fs);
x = sin(2*pi*f*t);
plot(x)
Run Code Online (Sandbox Code Playgroud)
结果如图所示.

我订的时候
f = 100
Run Code Online (Sandbox Code Playgroud)
结果如下图所示,

这是什么原因?这是奈奎斯特采样定理,因此它应该正确地产生正弦.当然,当我采用Fs >> f时,我会得到更好的结果和非常好的正弦形状.我对自己的解释是,Matlab在浮动数字方面遇到了困难,但我不确定这是否属实.有人有什么建议吗?