一元函数的极值点
例:求函数 $ f(x) = e_{x}cos(2x) $ 在区间[0,3]上的极小点。
1 2 3 4 5 6 7 8
| from numpy import exp,cos from scipy.optimize import fminbound
f = lambda x:exp(x)*cos(2*x)
x0 = fminbound(f,0,3)
print('极小点为:{}, 极小值为:{}'.format(x0,f(x0)))
|
例:求函数 $ f(x) = e_{x}cos(2x) $ 在0附近的一个极小点。
1 2 3 4 5 6 7 8
| from numpy import exp,cos from scipy.optimize import fmin
f = lambda x:exp(x)*cos(2*x)
x0 = fmin(f,0)
print('极小点为:{}, 极小值为:{}'.format(x0,f(x0)))
|
多元函数的极值点
例:求函数 $ f(x) = 100(x_{2}-x_{1}^{2})^{2}+(1-x_{1})^{2} $ 的极小点。
1 2 3 4 5 6 7
| from scipy.optimize import minimize
f = lambda x:100*(x[1]-x[0]**2)**2+(1-x[0])**2
x0 = minimize(f,[2,2])
print('极小点为:{}, 极小值为:{}'.format(x0.x,x0.fun))
|