Python优化

Python优化,python,optimization,scipy,solver,Python,Optimization,Scipy,Solver,我有两个测量点的数据,还有两个计算点的数据。我正试图将这些数据之间的差异最小化。e、 g 尽量减少点1(测量值)和点1(计算值)之间的差异。 尽量减少点2(测量值)和点2(计算值)之间的差异 点1(计算)和点2(计算)的值作为二次分布的一部分连接:a*x^2+b*x+c。我只想更改“a”参数 因此,我试图通过仅更改一个参数来最小化点1和点2的差异 我将如何使用python实现这一点?我正在考虑使用scipy,什么是合适的优化工具?scipy.optimize有一些很好的方法,比如fsolve、r

我有两个测量点的数据,还有两个计算点的数据。我正试图将这些数据之间的差异最小化。e、 g

尽量减少点1(测量值)和点1(计算值)之间的差异。 尽量减少点2(测量值)和点2(计算值)之间的差异

点1(计算)和点2(计算)的值作为二次分布的一部分连接:a*x^2+b*x+c。我只想更改“a”参数

因此,我试图通过仅更改一个参数来最小化点1和点2的差异


我将如何使用python实现这一点?我正在考虑使用scipy,什么是合适的优化工具?

scipy.optimize
有一些很好的方法,比如
fsolve
root
、和
最小化
。阅读文档以了解它们是如何工作的,但这里有一个简短的示例来查找线性函数的根:

import scipy
from scipy.optimize import fsolve

def function_to_find_root_of(x, slope, yintercept):
    ''' x is a list of all the variables you need to minimize
        the other variables will be passed in as constants '''

    return slope*x + yintercept

m = 4
b = 7
print fsolve(function_to_find_root_of, x0=[10], args=(m, b), xtol=1e-10)
#prints [-1.75], which is the root of y=4x+7