2013-11-20 57 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

相關問題