自定义 求解偏导数
g()自定义一个二维函数
approximate_derivative求解导数
approximate_gradient固定一个方向,求解另外方向上的导数
#derivative 导数
def g(x1,x2):
return x1*(x2**3)
def approximate_derivative(f,x,eps=1e-3):
return ((f(x+eps)-f(x))/eps)
def approximate_gradient(g,x1,x2,eps=1e-3):
dg_x1=approximate_derivative(lambda x:g(x,x2),x1,eps)
dg_x2=approximate_derivative(lambda x:g(x1,x),x2,eps)
return dg_x1,dg_x2
print(approximate_gradient(g,1.,2.))
#输出结果
(7.999999999999119, 12.006000999997823)