gpt4 book ai didi

math - 如何使用 GNUplot 获得更好的指数拟合?

转载 作者:行者123 更新时间:2023-12-02 18:30:21 25 4
gpt4 key购买 nike

我正在尝试将我的数据拟合到这条曲线:

f(x) = b + n*exp(-x/u)
fit f(x) "data1" using 2:3 via b,n,u

我得到的结果与理论并不接近:

enter image description here

然后我使用理论中的初始参数,无需重新计算拟合,我就得到了更好的结果。

如果我重新计算拟合,它会在第一次迭代后忽略我的初始参数并返回到第一个结果。

我尝试了一些事情。我将 FIT_LIMIT 减少了 20 个数量级,但它没有改变任何东西。我还对带有错误的数据进行了偏差,以便我对前几个数据点给予更多的权重,然后我得到了更好的拟合,但它仍然很糟糕。

这是输出:

enter image description here

问题:

  1. 我不清楚这个问题是数学问题还是 GNUplot 只是在某些局部最小值处停止或达到某些限制或类似的事情而做错了事情。我完全忘记了卡方拟合是如何工作的。

  2. 是否有某种方法可以实现更好的自动拟合(最好是在解决数据中包含错误之前)?

最佳答案

两个想法:

  1. 您似乎在 (0,0) 周围有大量数据点,这些数据点看起来像是伪影,可能会影响您的拟合度。

  2. 尝试在对数域中进行拟合,即:

    f(x) = b + n*exp(-x/u)
    fit log(f(x)) "data1" using 2:(log($3)) via b,n,u

    如果大值主导拟合,则此技巧通常会起作用 - 因为它们与拟合曲线的偏差在对数域中权重较小。您的情况似乎还不是这样,但在您解决第 1 点之后可能会出现这种情况。

关于math - 如何使用 GNUplot 获得更好的指数拟合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40148671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com