2014-02-07 84 views
1

我有一组距离X = C * R/RS最小二乘法曲线拟合

array([ 0.09317335, 0.1863467 , 0.27952006, 0.37269341, 0.46586676, 
     0.55904011, 0.65221346, 0.74538682, 0.83856017, 0.93173352, 
     1.02490687, 1.11808022, 1.21125357, 1.30442693, 1.39760028, 
     1.49077363, 1.58394698, 1.67712033, 1.77029369, 1.86346704]) 

数密度(SIGMA) array([ 9.56085037e+14, 5.13431506e+14, 3.26960286e+14, 2.27865084e+14, 1.68325130e+14, 1.29590176e+14, 1.02918831e+14, 8.37487042e+13, 6.94971037e+13, 5.86086377e+13, 5.00994710e+13, 4.33218850e+13, 3.78349864e+13, 3.33300619e+13, 2.95856349e+13, 2.64394232e+13, 2.37702922e+13, 2.14863249e+13, 1.95167455e+13, 1.78063354e+13])

我所绘制得到以下图表。这是一个日志记录情节。

我有一个函数enter image description here

应根据理论适合我的图表。我不知道如何使用scipy.opt.leastsquare来使用该函数并且适合我的图形。适合的参数是crs

+0

使用图形和公式编写了令人敬畏的文章。 – hughdbrown

+0

你的模型函数没有参数,除了一个常数因子,你想要什么,只是因素? – Nabla

+0

@Nabla其实,x = c * r/rs,其中c和rs是我需要的参数 – ThePredator

回答

1

选项1:使用scipy.optimize.curve_fit

选项2:编写自己的函数来输出R2或SSE,然后使用scipy.optimize减少这种功能。我一直使用这种方法处理复杂的问题,并会推荐SLSQP和L-BFGS-B算法。