Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # исходная функция
- f = lambda x,y: x * x + 2 * y * y + 2 * x - 4 * y + 1
- # производная по x
- fdx = lambda x,y: 2 * x + 2
- # производная по y
- fdy = lambda x,y: 4 * y - 4
- eps = 0.01
- x, y = -0.9, 0.9
- dx, dy = fdx(x, y), fdy(x, y)
- i = 0 # номер итерации
- while max(abs(dx), abs(dy)) >= eps:
- k = ((2 * x + 2) * dx + (4 * y - 4) * dy) / (2 * (dx ** 2 + 2 * dy ** 2))
- x, y = x - k * dx, y - k * dy # новое приблежение
- i += 1
- print('Итерация {:d}, значения x = {:.4f}, y = {:.4f}'.format(i, x, y))
- dx, dy = fdx(x, y), fdy(x, y)
Advertisement
Add Comment
Please, Sign In to add comment