1.gnuplot的原理及用途
它是一个小巧实用的数据处理工具,主要用来绘制2D/3D的数据或者函数图像,但是也包含数学计算、拟合等功能。虽然它的名字里边有个“gnu”,但是它和大名鼎鼎的GNU没有什么关系,使用的授权协议也不是GNU GPL,所以这里的“gnu”是小写,全名应该读作“new plot”。
所有主流的Linux版本都包含gnuplot,因此在Linux上安装很简单,只要用各相应发行版的软件安装工具直接安装就可以了。
在苹果电脑的安装也并不复杂,MacPorts项目把很多Linux上的应用程序移植到了苹果系统上,其中就包括gnuplot.只要在苹果电脑上安装MacPorts,之后就可以使用port命令进行安装了。
在windows下,可以直接到gnuplot在sourceforge的下载页面进行下载,解压之后,直接安装即可使用了。
2.gnuplot的下载及安装
首先在官网下载gnuplot的最新版本,下载地址,之后按照提示,更改安装位置即可。
之后在软件安装页面找到并运行 gnuplot 5.2 patchlevel 7
在这里我们不妨先实验一下画图效果,以下我们显示画出sinx和cosx的图像
到这里我们的gnuplot的安装大功告成了。
3.使用gcc编译c语言程序
在编译之前,我们先创建一个c语言文件,主要实现生成画图所需要的离散变量数组。以下我们以产生sinc函数为例,并将该函数命名为test.c。
#include <stdio.h>
#include <math.h>
#define PI 3.1415926
int main()
{ //获取负半轴部分数据
for (int i = 1600; i >0; i--)
{
double t;
t=i/16.0;//设置采集时间=采样点数/采样频率
printf("%.2f %.2f\n",(float)(-t),(sin(t)/t));
}
//获取正半轴部分数据
for (int i = 0; i <1600; i++)
{
double t;
t=i/16.0;//设置采集时间=采样点数/采样频率
printf("%.2f %.2f\n",(float)(t),(sin(t)/t));
}
return 0;
}
对其使用gcc进行编译则有:
编译完成之后,我们就会发现多了一个test.exe文件,接下来我们要运行该可执行文件,并且将它printf的结果重定向到sinc.bat文件。
如果我们此时使用记事本打开sinc.bat文件我们就会发现,整个函数的输出结果全被保存到这里。
4.使用gnuplot调用c语言程序所产生的数据并且画出图像
在做这一步之前我们需要做的一点就是,需要先将gnuplot.exe所在的路径,存入环境变量path中,这里我的路径是:
添加完成之后点击确定即可。然后在含有sinc.bat文件的文件夹下进入cmd命令行窗口,之后输入gnuplot,调用该画图函数。然后再在新出来的窗口输入命令.
plot [-16:16] [-0.3:1] "sinc.bat" u 1:2 w l lt 1 lw 1
具体操作以及结果如下所示:
5.参考文章
史上最完美的Typora快捷键大全:https://blog.csdn.net/cris_zz/article/details/82919401
c语言及gnuplot任意波形产生以及作图-三角波:https://blog.csdn.net/shaoyubin999/article/details/82819974
gnuplot使用说明:https://www.cnblogs.com/waterystone/p/5085801.html
gnuplot介绍:https://www.xuebuyuan.com/572269.html