我有一组距离 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])
我已经绘制了以下图表。这是一个日志日志图。
我有一个函数
根据理论,它应符合我的图表。我不知道如何使用scipy.opt.leastsquare
来使用该函数并使其适合我的图形。要适合的参数是c
和rs
答案 0 :(得分:1)
选项1:使用scipy.optimize.curve_fit
选项2:编写自己的函数输出R2或sse,然后使用scipy.optimize最小化此函数。我总是将此方法用于复杂问题,并推荐使用SLSQP和L-BFGS-B算法。