如何在gnuplot的zrange中拟合三维数据

如何在gnuplot的zrange中拟合三维数据,gnuplot,Gnuplot,我知道在gnuplot中,拟合二维数据的z值在[-1:4]之间 f(x)=a*x+b fit [][-1:4] f(x) "data" 但是对于3D数据,如果我只想在f(x)的值介于[-1:4]之间时拟合数据 f(x)=a*x+b*y+c fit [][-1:4] f(x) "data" fit [][][-1:4] f(x) "data" 他们都错了。为什么? 我不确定您用2D fit描述的射程行为是否真的是有意的,因为它不适用于gnuplot开发版本。根据文档,fit命令的范围规

我知道在gnuplot中,拟合二维数据的z值在[-1:4]之间

  f(x)=a*x+b
  fit [][-1:4] f(x) "data"
但是对于3D数据,如果我只想在f(x)的值介于[-1:4]之间时拟合数据

f(x)=a*x+b*y+c
fit [][-1:4] f(x) "data"
fit [][][-1:4] f(x) "data"

他们都错了。为什么?

我不确定您用2D fit描述的射程行为是否真的是有意的,因为它不适用于gnuplot开发版本。根据文档,
fit
命令的范围规范仅适用于虚拟变量(即
x
y
)。因此,您的第一个fit命令可能只是因为一个bug而起作用,这是您的一个特性

要限制
z
-范围,您可以将所需范围之外的所有值设置为
1/0
,这将导致未定义的数据点,然后忽略该数据点:

f(x, y) = a*x + b*y + c
zmin = -1
zmax = 4
fit f(x, y) "data" using 1:2:($3 < zmin || $3 > zmax ? 1/0 : $3):(1) via a,b,c
f(x,y)=a*x+b*y+c
zmin=-1
zmax=4
使用1:2:($3zmax?1/0:$3):(1)通过a、b、c拟合f(x,y)“数据”:
注意,必须为两个伪变量
x
y
定义函数,并且必须有
via
语句,这在所有示例中都没有

要拟合具有两个自变量z=f(x,y)的函数,需要 格式是使用带有四个项目的
,x:y:z:s。完整的格式必须是
给定---对于缺少的标记,不假定默认列。重量
每个数据点根据上述“s”进行评估。如果误差估计是
如果不可用,则可以将常量值指定为常量表达式
(请参见
使用
打印数据文件),例如,
使用1:2:3:(1)


我不确定,您用2D fit描述的范围行为是否真的是有意的,因为它不适用于gnuplot开发版本。根据文档,
fit
命令的范围规范仅适用于虚拟变量(即
x
y
)。因此,您的第一个fit命令可能只是因为一个bug而起作用,这是您的一个特性

要限制
z
-范围,您可以将所需范围之外的所有值设置为
1/0
,这将导致未定义的数据点,然后忽略该数据点:

f(x, y) = a*x + b*y + c
zmin = -1
zmax = 4
fit f(x, y) "data" using 1:2:($3 < zmin || $3 > zmax ? 1/0 : $3):(1) via a,b,c
f(x,y)=a*x+b*y+c
zmin=-1
zmax=4
使用1:2:($3zmax?1/0:$3):(1)通过a、b、c拟合f(x,y)“数据”:
注意,必须为两个伪变量
x
y
定义函数,并且必须有
via
语句,这在所有示例中都没有

要拟合具有两个自变量z=f(x,y)的函数,需要 格式是使用带有四个项目的
,x:y:z:s。完整的格式必须是
给定---对于缺少的标记,不假定默认列。重量
每个数据点根据上述“s”进行评估。如果误差估计是
如果不可用,则可以将常量值指定为常量表达式
(请参见
使用
打印数据文件),例如,
使用1:2:3:(1)


这将以三维方式绘制平面,而不是直线。我很困惑,直到我缩小并意识到。请尝试以下4点数据集。”设置“自动缩放”以确保看到整个图像。或者只是读取fit.log文件,然后意识到错误率很高,表明拟合不良

377.4202-345.5518 2.1142

377.4201-345.5505 2.5078

377.4206-345.556 2.8359


377.4288-345.5555 3.2109

这以3D方式绘制平面,而不是直线。我很困惑,直到我缩小并意识到。请尝试以下4点数据集。”设置“自动缩放”以确保看到整个图像。或者只是读取fit.log文件,然后意识到错误率很高,表明拟合不良

377.4202-345.5518 2.1142

377.4201-345.5505 2.5078

377.4206-345.556 2.8359

377.4288-345.5555 3.2109