Построение точек на контурной карте PYTHON - PullRequest
2 голосов
/ 16 марта 2019

ГРАДИЕНТНЫЙ МЕТОД, кстати

Я запрограммировал алгоритм оптимизации, который дает функцию, начальную точку и кучу других параметров, она возвращает путь к локальному минимизатору (точки, координаты х и у).Все идет нормально.Но цифры легко интерпретируются, когда они видны на графике, поэтому я хочу построить что-то подобное (график слева): enter image description here

Моя попытка:

from pylab import *
f = lambda x : x[0]**2+(1/4)*x[1]**3+(1/2)*x[0]*x[1]+(15/4)*x[0]-(9/16)*x[1]

x = np.linspace(-10,10)
y = np.linspace(-10,10)
X,Y = np.meshgrid(x,y)

im = imshow(f(np.array([X,Y])), cmap=cm.RdBu, extent=[-10,10,-10,10])
colorbar(im)

x_axis = [x_k[i][0] for i in range(0, len(x_k))]
y_axis = [x_k[i][1] for i in range(0, len(x_k))]

plt.plot(x_axis, y_axis, 'ro-')
plt.plot(x_k[0][0], x_k[0][1], 'bo')

x_k содержит координаты, найденные моим алгоритмом.Я не профи в построении графиков, так что этот код - просто фрагменты, которые я нашел в интернете и соединил в одном, но результат неправильный.Буду очень признателен, если вы поможете мне!Заранее спасибо

...