0 python curve-fitting exponential
我需要应用曲线拟合(看图)。然而,我正在努力根据视觉效果(查看绘图)找到初始参数。那么我现在如何为 a、b 或 c 选择哪个值。你有我可以读的文档吗?

我正在尝试实现这个方程:
def func(t, a, b, c):
t0 = new_time[maximum_force_index]
return a*np.exp(-b*(t-t0))+c
Run Code Online (Sandbox Code Playgroud)
以及曲线拟合
popt, pcov = curve_fit(func, t, f)
Run Code Online (Sandbox Code Playgroud)
请注意,您的模型方程y = a * exp(-b * (t-t0)) + c写得不好,因为四个参数a, b, t0,c不是独立的。
y = a * exp(-b * (t-t0)) + c = A * exp(-b*t) + c其中A = a * exp(b * t0)这是可能在非线性回归中引起麻烦的参数之间的关系。
它们只是三个独立的参数。最好选择方程模型\ny = a *exp(-b * x) + c或等效y = exp(-b * (x-t0)) + c于 a = exp(b * t0)。
如果您在猜测参数的初始值以启动迭代非线性回归时遇到一些困难,您可以使用另一种非迭代且不需要初始值的方法。
\n一般原则在https://fr.scribd.com/doc/14674814/Regressions-et-equations-integrales中进行了解释
\n下面显示了数值演算的示例。
\n为了使示例更容易复制和重现,仅在您的观点中选取了 20 个观点。此外,如果没有数字形式的数据,则通过图形扫描从问题中发布的图中获取点。这是不准确的,并且可能不会给出好的结果。
\n下面的页面是 MathCad 软件页面的屏幕副本。
\n\n您可以使用相同的方式处理完整数据。您将获得的值可以用作任何常用非线性回归软件的非常好的初始值。
\n请小心符号a, b, c,它们与上面问题中的符号不同。
此外 :
\n使用由两个指数组成的方程模型可以获得更好的拟合。
\n\n蓝色曲线:拟合函数。
\n红点:来自扫描问题中 Magdalena Rodr\xc3\xadguez 发布的图表上的像素(2399 点)。
\n等效方程(相同的蓝色曲线):
\n\n| 归档时间: |
|
| 查看次数: |
204 次 |
| 最近记录: |