Scipy

来自Shiyin's note
Shen讨论 | 贡献2017年10月27日 (五) 02:33的版本
跳到导航 跳到搜索

http://www.scipy-lectures.org

积分

>>> from scipy.integrate import quad
>>> def integrand(x, a, b):
...     return a*x**2 + b
>>> a = 2
>>> b = 1
>>> I = quad(integrand, 0, 1, args=(a,b))



求函数最小值

  • Methods based on conjugate gradient are named with ‘cg’ in scipy. The simple conjugate gradient method to minimize a function is scipy.optimize.fmin_cg():
  • n scipy, scipy.optimize.fmin() implements the Nelder-Mead approach: (不太依赖于倒数)
  • Brute force: a grid search
scipy.optimize.brute() evaluates the function on a given grid of parameters and returns the parameters corresponding to the minimum value.The parameters are specified with ranges given to numpy.mgrid. By default, 20 steps are taken in each direction:
  • Non-linear least squares: Levenberg–Marquardt algorithm implemented in scipy.optimize.leastsq().
  • If the function is linear, this is a linear-algebra problem, and should be solved with scipy.linalg.lstsq().