Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

коды / 10

.py
Скачиваний:
5
Добавлен:
20.06.2023
Размер:
505 б
Скачать
import numpy as np

def grad_decay(f, x, eps=0.01, lam=1, d=0.1):
g = 1

while np.linalg.norm(g) > eps:
g = grad(f, x)
xn = x - lam * g
if f(x) > f(xn):
x = xn
else:
lam *= d
return x, f(x)

def grad(f, x, d=1e-5):
n = len(x)
e = np.eye(n) * d
g = (f(x-e) - f(x+e)) / (-2*d)
return g

def f(x): return (x[0]-1)**2+(x[1]-1)-x[0]

x = [3,
3]
x, y = grad_decay(f, x)
print(x, y, sep="\n")
Соседние файлы в папке коды