Найти глобальный минимум (SciPy) и отобразить его на 3D графике - PullRequest
0 голосов
/ 08 марта 2019

У меня есть функция с двумя переменными, и мне нужно найти глобальный минимум.Также постройте трехмерный график и покажите глобальный минимум (одну точку) на графике.Но я получаю целую вторую фигуру вместо точки.Я использую ноутбук Jupyter.Мой код:

import numpy as np
from matplotlib import pyplot as plt
from scipy import optimize
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure(figsize=(10,10))
axes = fig.gca(projection='3d')

def f(x, y):
    return (np.exp(np.sqrt(x**2 + y**2)))

y = x = np.linspace(-3, 3, 50)

x, y = np.meshgrid(x, y)
z = f(x,y)

# optimization
optimize.minimize(f, -3, args=(3)) # maybe something is wrong right here
optimization = optimize.minimize(f, -3, args=(3))


surf = axes.plot_surface(x, y, z, cmap='coolwarm',
                       linewidth=0, antialiased=False)

surf1 = axes.plot_surface(x, y, f(optimization.x,y), cmap='coolwarm',
                       linewidth=0, antialiased=False)

axes.set_xlabel('Ось X')
axes.set_ylabel('Ось Y')
axes.set_zlabel('Ось Z')

plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...