gpt4 book ai didi

python - 使用 curve_fit 强制数据拟合点

转载 作者:太空宇宙 更新时间:2023-11-04 05:20:50 24 4
gpt4 key购买 nike

我在使用 Scipy 中包含的 curve_fit 函数时遇到了一点问题。这是我想要适合的功能:

def funclog(x, a, b, c, d):
return a * np.log(b * x + c) + d

我遇到的问题是我希望拟合函数在某些点(y(min)=0 和 y(max)=1)上具有特定值。如何使用 curve_fit 强制这些点?

谢谢

最佳答案

x=0x=1 处具有特定值的拟合要求意味着参数 a b, c, d 根据两个方程组进行约束:

函数日志(0, a, b, c, d) = 0, 函数日志(1, a, b, c, d) = 1

对于您正在考虑的 funclog 形式,您可以针对 ad 求解该方程组,得到 (独特的)解决方案

a = 1/(-log(c) + log(b + c))d=log(c)/(log(c) - log(b + c) ))

(假设 bc 的分母不为零)。

替换 funclogad 的这些表达式会产生一个新的拟合函数,即

(log(c) - log(b*x + c))/(log(c) - log(b + c)),

默认情况下满足约束。 bc 的值可以通过curve_fit 找到。

关于python - 使用 curve_fit 强制数据拟合点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40401565/

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