1.5.12.1. 寻找平滑函数的最小值

演示了多种方法来寻找函数的最小值。

import numpy as np
import matplotlib.pyplot as plt
def f(x):
return x**2 + 10 * np.sin(x)
x = np.arange(-5, 5, 0.1)
plt.plot(x, f(x))
plot optimize example1
[<matplotlib.lines.Line2D object at 0x7f791f2890d0>]

现在使用几种方法找到最小值

import scipy as sp
# The default (Nelder Mead)
print(sp.optimize.minimize(f, x0=0))
 message: Optimization terminated successfully.
success: True
status: 0
fun: -7.945823375615215
x: [-1.306e+00]
nit: 5
jac: [-1.192e-06]
hess_inv: [[ 8.589e-02]]
nfev: 12
njev: 6

脚本总运行时间: (0 分钟 0.048 秒)

由 Sphinx-Gallery 生成的画廊