C语言产生不同频率的正弦波

C语言产生不同频率的正弦波

用C语言产生一个时间长度为4秒的波形数据,并通过gnuplot作出波形图。

第一步:用C语言生成数据。
#include
#include
#define pi 3.14
int main()
{
   double t,s;
    for (int i=0; i<8000; i++)//4秒,产生更多数据
        {
            t=i/2000.0;
            s=sin(2*pi*10*t);//设定频率为10Hz
            printf("%e\t%e\n",t,s);
        }
}

编译并执行:
用tcc编译,输出为test.exe, 执行后从屏幕输出8000行数据。
C语言产生不同频率的正弦波_第1张图片
C语言产生不同频率的正弦波_第2张图片

第二步:用gnuplot画出波形图。

输入命令:

gnuplot>plot "

w l表示使用折线作图
C语言产生不同频率的正弦波_第3张图片
下面是不同频率的波形图

1Hz:

C语言产生不同频率的正弦波_第4张图片

2Hz:

C语言产生不同频率的正弦波_第5张图片

5Hz:

C语言产生不同频率的正弦波_第6张图片

10Hz:

C语言产生不同频率的正弦波_第7张图片

你可能感兴趣的:(C语言产生不同频率的正弦波)