日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

gnuplot绘图,使用C语言输出

發布時間:2025/3/12 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 gnuplot绘图,使用C语言输出 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

產生采樣率為8000次每秒的正弦信號,時長為1秒(8000點)。正弦信號的幅度為0.6,頻率為500Hz,或50Hz,將500Hz和50Hz的兩個正弦信號相加。分別用gnuplot畫出相應的波形圖。
編譯器:TCC
第一步:c語言產生數據
(1)頻率為500Hz的c程序

#include <stdio.h> #include <stdlib.h> #include <math.h> #define pi 3.1415926 int main() {int i;double t,s;for (i=0;i<8000;i++){t=i/8000.0 ; //采集時間=采樣點數/采樣率s=0.6*sin(2*pi*500*t);//0.6是振幅,500是頻率printf("%.16lf %.16lf\n",t,s);}system ("pause");return 0; }

(2)頻率為50Hz的c程序

#include <stdio.h> #include <stdlib.h> #include <math.h> #define pi 3.1415926 int main() {int i;double t,s;for (i=0;i<8000;i++){t=i/8000.0 ; //采集時間=采樣點數/采樣率s=0.6*sin(2*pi*50*t);printf("%.16lf %.16lf\n",t,s);}system ("pause");return 0; }

(3)頻率為50Hz和500Hz相加的c程序

#include <stdio.h> #include <stdlib.h> #include <math.h> #define pi 3.1415926 int main() {int i;double t,s;for (i=0;i<8000;i++){t=i/8000.0 ; //采集時間=采樣點數/采樣率s=0.6*sin(2*pi*500*t)+0.6*sin(2*pi*50*t);printf("%.16lf %.16lf\n",t,s);}system ("pause");return 0; }

第二步:用gnuplot畫出數據波形
方法一:重定向
TCC編譯后生成的.exe文件變成.dat 文件

在gnuplot命令行提示符下輸入作圖指令(注意自己tcc路徑,必要是需要將.exe和.dat復制到用戶下面)

[0:0.02]定義了橫坐標的范圍,[-2:2]是縱坐標的顯示范圍,u 1:2

表示使用數據文件的1,2列數據,w l表示使用折線作圖。

方法二:直接將"500hezi.dat"寫成"<500hezi.exe"(注意<符號)

gnuplot> plot [0:0.02] [-2:2] "<500hezi.exe" u 1:2 w l

第三步:圖像顯示
(1)500Hz圖像

(2)50Hz圖像

(3)500Hz圖像+50Hz圖像

總結

以上是生活随笔為你收集整理的gnuplot绘图,使用C语言输出的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。