标签: curve-fitting

用python拟合直方图

我有一个直方图

H=hist(my_data,bins=my_bin,histtype='step',color='r')
Run Code Online (Sandbox Code Playgroud)

我可以看到形状几乎是高斯的,但我想用高斯函数拟合这个直方图并打印我得到的均值和西格玛的值.你能帮助我吗?

python histogram curve-fitting

40
推荐指数
4
解决办法
11万
查看次数

Python curve_fit有多个自变量

Python curve_fit使用单个自变量计算函数的最佳拟合参数,但有没有办法,使用curve_fit或其他东西,以适应具有多个独立变量的函数?例如:

def func(x, y, a, b, c):
    return log(a) + b*log(x) + c*log(y)
Run Code Online (Sandbox Code Playgroud)

其中x和y是自变量,我们想要适合a,b和c.

python curve-fitting scipy

40
推荐指数
2
解决办法
3万
查看次数

在python中只使用具有许多参数的函数的一个参数

在python中我有一个有很多参数的函数.我想将此函数适用于数据集,但只使用一个参数,我想要自己提供的其余参数.这是一个例子:

def func(x,a,b):
   return a*x*x + b

for b in xrange(10):
   popt,pcov = curve_fit(func,x1,x2)
Run Code Online (Sandbox Code Playgroud)

在这里我希望仅适用于拟合a,参数b采用循环变量的值.如何才能做到这一点?

python curve-fitting scipy

32
推荐指数
2
解决办法
2万
查看次数

将闭合曲线拟合到一组点

我有一组pts形成循环的点,它看起来像这样:

在此输入图像描述

这有点类似于31243002,但是我不想在点对之间放置点,而是想在点之间插入一条平滑的曲线(坐标在问题的末尾给出),所以我尝试了类似于Interpolation的scipy文档.:

values = pts
tck = interpolate.splrep(values[:,0], values[:,1], s=1)
xnew = np.arange(2,7,0.01)
ynew = interpolate.splev(xnew, tck, der=0)
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

ValueError:输入数据错误

有没有办法找到这样的合适?

点数的坐标:

pts = array([[ 6.55525 ,  3.05472 ],
   [ 6.17284 ,  2.802609],
   [ 5.53946 ,  2.649209],
   [ 4.93053 ,  2.444444],
   [ 4.32544 ,  2.318749],
   [ 3.90982 ,  2.2875  ],
   [ 3.51294 ,  2.221875],
   [ 3.09107 ,  2.29375 ],
   [ 2.64013 ,  2.4375  ],
   [ 2.275444,  2.653124],
   [ 2.137945,  3.26562 ],
   [ 2.15982 …
Run Code Online (Sandbox Code Playgroud)

python numpy curve-fitting scipy data-fitting

30
推荐指数
4
解决办法
1万
查看次数

曲线拟合平面上未分类的点

问题:如果它们不是单值的,那么如何将曲线拟合到平面上的点?

对于所示的示例,如何将曲线(如黑色曲线)与嘈杂的蓝色数据拟合?它类似于样条平滑,但我不知道数据的顺序.

Matlab是首选,但伪代码很好.或者指向这个问题的正确术语的指针会很棒.

谢谢

matlab image-processing spline curve-fitting best-fit-curve

27
推荐指数
2
解决办法
4372
查看次数

如何将Bézier曲线拟合为一组数据?

我有一组数据点(我可以精简)我需要适应Bézier曲线.我需要速度超过准确性,但合身应该足够好,以便可识别.我也正在寻找一种我可以使用的算法,它没有充分利用库(特别是NumPy).

我已经阅读了几篇研究论文,但没有足够的细节可以完全实现.有没有开源示例?

python algorithm bezier curve-fitting

27
推荐指数
2
解决办法
3万
查看次数

SciPy中的指数曲线拟合

我有两个NumPy数组xy.当我尝试使用指数函数和curve_fit(SciPy)使用这个简单的代码来拟合我的数据时

#!/usr/bin/env python
from pylab import *
from scipy.optimize import curve_fit

x = np.array([399.75, 989.25, 1578.75, 2168.25, 2757.75, 3347.25, 3936.75, 4526.25, 5115.75, 5705.25])
y = np.array([109,62,39,13,10,4,2,0,1,2])

def func(x, a, b, c, d):
    return a*np.exp(b-c*x)+d

popt, pcov = curve_fit(func, x, y)
Run Code Online (Sandbox Code Playgroud)

我得错了系数 popt

[a,b,c,d] = [1., 1., 1., 24.19999988]
Run Code Online (Sandbox Code Playgroud)

问题是什么?

python numpy curve-fitting scipy

27
推荐指数
2
解决办法
4万
查看次数

numpy.polyfit的错误是什么?

我想numpy.polyfit用于物理计算,因此我需要误差的大小.

python numpy curve-fitting

26
推荐指数
2
解决办法
4万
查看次数

适合高斯函数

我有一个直方图(见下文),我试图找到平均值和标准偏差以及符合我的直方图曲线的代码.我认为SciPy或matplotlib中有一些东西可以提供帮助,但我尝试的每个例子都不起作用.

import matplotlib.pyplot as plt
import numpy as np

with open('gau_b_g_s.csv') as f:
    v = np.loadtxt(f, delimiter= ',', dtype="float", skiprows=1, usecols=None)

fig, ax = plt.subplots()

plt.hist(v, bins=500, color='#7F38EC', histtype='step')

plt.title("Gaussian")
plt.axis([-1, 2, 0, 20000])

plt.show()
Run Code Online (Sandbox Code Playgroud)

python matplotlib histogram curve-fitting scipy

25
推荐指数
2
解决办法
7万
查看次数

使用 Python 将 sigmoid 函数(“S”形曲线)拟合到数据

我正在尝试将 sigmoid 函数拟合到我拥有的一些数据中,但我不断收到:ValueError: Unable to determine number of fit parameters.

我的数据如下所示:

在此处输入图片说明

我的代码是:

from scipy.optimize import curve_fit

def sigmoid(x):
    return (1/(1+np.exp(-x)))

popt, pcov = curve_fit(sigmoid, xdata, ydata, method='dogbox')
Run Code Online (Sandbox Code Playgroud)

然后我得到:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-5-78540a3a23df> in <module>
      2     return (1/(1+np.exp(-x)))
      3 
----> 4 popt, pcov = curve_fit(sigmoid, xdata, ydata, method='dogbox')

~\Anaconda3\lib\site-packages\scipy\optimize\minpack.py in curve_fit(f, xdata, ydata, p0, sigma, absolute_sigma, check_finite, bounds, method, jac, **kwargs)
    685         args, varargs, varkw, defaults = _getargspec(f)
    686         if len(args) < 2:
--> 687             raise …
Run Code Online (Sandbox Code Playgroud)

curve-fitting scipy python-3.x sigmoid

24
推荐指数
1
解决办法
2万
查看次数