Gnuplot 如何使用数据文件创建钟形曲线

Gnuplot 如何使用数据文件创建钟形曲线,gnuplot,Gnuplot,我有两个数据文件,file1.dat和file2.dat。我想创建两条钟形曲线并比较它们。我有两个数据文件的标准偏差和平均值。数值如下所示: file1.dat,m=18,sd=2和file2.dat,m=8和sd=1.8 我将我的功能定义为 f1(x) = 1/(sqrt(2*pi*2**2)) * exp(-(x-18)**2/(2*2**2)) f1(x) = 1/(sqrt(2*pi*1.8**2)) * exp(-(x-8)**2/(2*1.8**2)) plot f1(x), f2(

我有两个数据文件,file1.dat和file2.dat。我想创建两条钟形曲线并比较它们。我有两个数据文件的标准偏差和平均值。数值如下所示:

file1.dat,m=18,sd=2和file2.dat,m=8和sd=1.8

我将我的功能定义为

f1(x) = 1/(sqrt(2*pi*2**2)) * exp(-(x-18)**2/(2*2**2))
f1(x) = 1/(sqrt(2*pi*1.8**2)) * exp(-(x-8)**2/(2*1.8**2))
plot f1(x), f2(x)

我找不到将两个函数关联到两个数据文件的方法。我该怎么做?谢谢。

您可以在单个打印命令中打印文件和函数。要区分数据和函数,可以使用相同的线样式将数据打印为点,将函数打印为线:

set style line 1 lc rgb '#AE1100' pt 9 lt -1
set style line 2 lc rgb '#6EB043' pt 6 lt -1
f(x,m,s) = 1/(sqrt(s**2*2*pi)) * exp(-(x-m)**2/(2*s**2))
set style data points
set style func lines
plot f(x, 18, 2) linestyle 1 title 'func file1',\
     'file1.dat' linestyle 1 title 'data file1',\
     f(x, 8, 1.8) linestyle 2 title 'func file2',\
     'file2.dat' linestyle 2 title 'data file2'

可以在单个打印命令中打印文件和函数。要区分数据和函数,可以使用相同的线样式将数据打印为点,将函数打印为线:

set style line 1 lc rgb '#AE1100' pt 9 lt -1
set style line 2 lc rgb '#6EB043' pt 6 lt -1
f(x,m,s) = 1/(sqrt(s**2*2*pi)) * exp(-(x-m)**2/(2*s**2))
set style data points
set style func lines
plot f(x, 18, 2) linestyle 1 title 'func file1',\
     'file1.dat' linestyle 1 title 'data file1',\
     f(x, 8, 1.8) linestyle 2 title 'func file2',\
     'file2.dat' linestyle 2 title 'data file2'

再次感谢克里斯托夫。我的两个文件是相同的,包含多个列。如果我想使用第一个数据文件的第3列和第二个数据文件的第7列创建钟形曲线,我应该如何关联列号,以便gnuplot知道要使用哪些列?您可以使用
using
语句选择要使用的列,例如,
使用4:7绘制“file1.dat”,以使用第四列作为x值,第七列作为y值。顺便说一句:如果你的文件是相同的,为什么你需要两者?对不起,相同的意思是相同的行数和列数。非常感谢!好的,但是在任何情况下,
using
语句的工作原理与您在问题中使用它的方式类似。我看到我得到的pdf的平均值总是大约为零,给出负值,而我的值不是负值。我怎么修理它?谢谢,再次谢谢你,克里斯托夫。我的两个文件是相同的,包含多个列。如果我想使用第一个数据文件的第3列和第二个数据文件的第7列创建钟形曲线,我应该如何关联列号,以便gnuplot知道要使用哪些列?您可以使用
using
语句选择要使用的列,例如,
使用4:7绘制“file1.dat”,以使用第四列作为x值,第七列作为y值。顺便说一句:如果你的文件是相同的,为什么你需要两者?对不起,相同的意思是相同的行数和列数。非常感谢!好的,但是在任何情况下,
using
语句的工作原理与您在问题中使用它的方式类似。我看到我得到的pdf的平均值总是大约为零,给出负值,而我的值不是负值。我怎么修理它?谢谢