2013-11-20 26 views
1

我有两个数据文件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) 

我无法找到一种方法将两个函数关联到两个数据文件。我怎样才能做到这一点?谢谢。

回答

1

您可以在单个绘图命令中绘制文件和函数。要区分数据和功能,可以使用相同的线条样式将数据绘制为点和作为线条的功能:

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' 
+0

再次感谢Christoph。我的两个文件是相同的,并包含多列。如果我想使用第一个数据文件的第3列和第二个数据文件的第7列创建钟形曲线,我应该如何关联列号,以便gnuplot知道要使用哪个列? – kuki

+0

您可以使用'using'语句来选择要使用的列,例如'plot'file1.dat'using 4:7'来使用第四列作为x值,第七列作为y值。顺便说一句:如果你的文件是相同的,为什么你需要两个? – Christoph

+0

对不起,我的意思是相同数量的行和列。非常感谢! – kuki

相关问题