Gnuplot 用高斯拟合会产生不同的表面,为什么?

Gnuplot 用高斯拟合会产生不同的表面,为什么?

我有一个与 gnuplot 曲面生成相关的问题,或者说与拟合过程有关。我有不同的曲线,它们不遵循数学公式,但我需要在我的 CFD 代码中使用这些数据。然而,为了实现这一目标,我使用高斯拟合算法将离散曲率数据点 (x, y, z) 映射到 2D 表面。我正在使用以下映射语法:

# Surface with 800 x 800 discrete points dx = 4, dy = 6500 for
# for adjusting the Gaussian profile to the x, y axis
set dgrid3d 800 800 gauss 4,6500
set table "Look-Up-Table.txt"
splot "globalFile.txt" using 2:5:($3/1000000) title "Look-Up-Table"

我希望获得一个用于拟合过程的曲面,但我意识到输出文件包含更多曲面。为什么会这样呢?该文件可能如下所示:

# Surface 0 of 13 surfaces
# Curve title: "Look up table"
# IsoCurve 0, 800 points
# x y z type
...
#
# Survace 1 of 13 surfaces
# IsoCurve 0, 800 points
# x y z type
....

欢迎任何建议。我想上传一些测试用例,但我不允许分享数据,但我希望你明白这一点。只是一则附加信息。我想要绘制的数据点遵循某个表面,但在一个区域内我有很多波动。这可能是额外表面的原因吗?

提前致谢,托比

答案1

我的例子中的问题实际上是 globalFile.txt。有许多数据点被多次包含,还有一些不属于数据的数据(@Dani_l 也提到过)。然而,更改操作和生成数据文件的 C++ 代码就是必须要做的一切。现在,装配过程再次按预期进行。

相关内容