2

是否可以在 gnuplot 中绘制和拟合具有两个变量的函数?例如,一个依赖于 highth和 Temperature的物理函数,T其中T依赖关系应该只计算而不是绘制(对于fh并且T存在实验数据):

f(h,T) = a * h * (1 + alpha * T) + f0

哪里af0将由拟合确定,alpha是已知的。最后,我需要一个f在 y 轴和hx 轴上的绘图。应该适当地处理整个T依赖关系,但我不需要它与splot.

以下是我尝试过但失败的方法。我假设是因为无法设置两个虚拟变量:

set term png;
set output 'test.png';
set dummy h;
set dummy T;
f(h,T) = a * h * (1 + alpha * T) + f0;
fit f(h,T) 'data.txt' using 2:4:1 via a, f0;
plot f(h,T);

undefined variable: h. 有任何想法吗?

4

1 回答 1

3

从文档中的示例:

Examples:
       f(x) = a*x**2 + b*x + c
       g(x,y) = a*x**2 + b*y**2 + c*x*y
       FIT_LIMIT = 1e-6
       fit f(x) 'measured.dat' via 'start.par'
       fit f(x) 'measured.dat' using 3:($7-5) via 'start.par'
       fit f(x) './data/trash.dat' using 1:2:3 via a, b, c
       fit g(x,y) 'surface.dat' using 1:2:3:(1) via a, b, c

如果您只是这样做,我希望您的脚本能够正常工作:

set term png
set output 'test.png'
f(h,T) = a * h * (1 + alpha * T) + f0
fit f(x,y) 'data.txt' using 2:4:1:(1) via a, f0

set view 90,0  #possibly `set view 0,90` or `set view map`?
splot f(x,y)
于 2013-02-06T16:51:46.677 回答