是否可以在 gnuplot 中绘制并拟合具有两个变量的函数?例如,取决于高度h
的物理功能和温度T
其中T
只能计算依赖性,而不能绘制依赖性(对于 f
、 h
和 T
存在实验数据):
f(h,T) = a * h * (1 + alpha * T) + f0
哪里a
和f0
由拟合确定,alpha
是已知的。最后我需要一个 f
的情节在 y 轴上和 h
在 x 轴上。整体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
。有什么想法吗?
最佳答案
来自文档中的示例:
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)
关于gnuplot:绘制并拟合具有两个变量的二维函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14731398/