Exercise 10.1: Least squares
代码
import numpy as np
from scipy import optimize as op
m=10
n=8
A=2.5*np.random.randn(m,n)+3
b=1.5*np.random.randn(m)+4
x=op.lsq_linear(A,b)
result=np.linalg.norm(x.fun)
print(result)
输出
Exercise 10.2: Optimization
首先分析题目函数,其应该会在x=0的附近收敛,因此初始估计点为x=0
代码
import numpy as np
from scipy import optimize as op
from scipy.spatial import distance as dist
fun=lambda x :(-1)*(np.sin(x-2))**2 * np.exp((-1)*(x**2))
X=op.fmin(fun,0)
print("the maximum of the function:")
print((-1)*fun(X[0]))
输出