Data

Gnuplot 與 Gauss 擬合會產生不同的曲面,為什麼?

  • November 28, 2016

我有一個與使用 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
....

歡迎任何建議。我想上傳一些測試案例,但我不能分享數據,但我希望你明白這一點。只是一個額外的資訊。我想要映射的數據點在某個表面上,但在一個區域內我有很多波動。這可能是額外表面的原因嗎?

在此先感謝,托比

我的問題實際上是 globalFile.txt。有很多數據點不止一次包含,還有一些不屬於數據的數據(@Dani_l 也提到過)。然而,改變我的 c++ 程式碼來操作和生成數據文件是必須要做的一切。現在,擬合程序再次按預期工作。

引用自:https://unix.stackexchange.com/questions/323001