优化
Alexander plus
Work until you don't have to introduce yourself.....
展开
-
BFGS和DFP
BFGS算法: from numpy import * %matplotlib inline import matplotlib.pyplot as plt def hyj(): x0 = mat([[0],[0]]) def fun(x): return x[0,0] ** 2 - x[1,0]**2 -3*x[0,0] - x[0,0]*x[1,0] + 3 def gfun(x): result = zeros((2, 1)) .原创 2021-04-29 10:13:26 · 565 阅读 · 0 评论 -
作业4
` import math import numpy as np from numpy import * import matplotlib.pyplot as plt def hyj(): n=3 A = np.array([[2,1,0],[1,2,1],[0,1,2]]) b = np.array([1,3,-1]) x = np.zeros(n, dtype = float) def hj(A,b,x): r = b原创 2021-04-29 09:51:10 · 153 阅读 · 0 评论 -
用梯度法程序求极小值点
用梯度法程序求极小值点 import numpy as np import matplotlib.pyplot as plt import matplotlib as mpl import math from mpl_toolkits.mplot3d import Axes3D import warnings def hyj(): x1 = 0 x2 = 3 alpha = 0.001 iter_num = 1 def f2(x1, x2):原创 2021-04-29 09:42:51 · 808 阅读 · 0 评论 -
黄金分割
class hyj_gold(): def __init__(self): self.X = np.linspace(-2, 2, 100) self.Y = [f(x) for x in X] def f(self,x): return x*x-x-1 def goldOpt(self,a, b, theta): alpha = (math.sqrt(5) - 1) / 2 t1 = a +原创 2021-04-23 17:41:48 · 134 阅读 · 1 评论