Python等价的Matlab lsqcurvefit()函数

时间:2015-08-28 01:28:03

标签: python matlab optimization scipy

什么是等效或最接近的python,比如SciPy,函数是matlab函数lsqcurvefit(),它最小化了数据和参数化函数(曲线)之间的平方误差?

我知道scipy.optimize.curve_fit和scipy.optimize.leastsq很接近。但是,他们不使用信任区域relforctive最小二乘法。当然,我可以编写自己在算法之间切换的条件。但是如果有现有的python代码,我就不必重新发明轮子了。

1 个答案:

答案 0 :(得分:2)

Nikolay Mayorov的

trf.py实现了用于最小二乘优化的信赖域反射算法,就像lsqcurvefit()的Matlab default一样。

两者都是基于Thomas F. Coleman和Yuying Li的工作:

  1. "受边界限制的非线性最小化的内部,信任区域方法," SIAM Journal on Optimization,Vol。 6,pp.418-445,1996,提供PDF格式here

  2. "关于受到界限的大规模非线性最小化的反射牛顿方法的收敛性,"数学规划,卷。 67,Number 2,pp.189-224,1994,avaiable in PDF here

  3. Matlab与Mayorov实施的算法可能存在一些差异,如后者blog所示。