Himmelblau関数は最適化関数の性能を調査する場合によく利用される。Himmelblau関数は
\begin{align}
f(x,y)=(x^2+y-11)^2+(x+y^2-7)^2
\end{align}
で表される。
コード
import numpy as np
from matplotlib import pyplot as plt
def func(x, y):
return (x ** 2 + y - 11) ** 2 + (x + y ** 2 - 7) ** 2
N = 10
X = np.linspace(-N, N)
Y = np.linspace(-N, N)
x, y = np.meshgrid(X, Y)
f = func(x, y)
fig = plt.figure()
ax = fig.add_subplot(projection='3d')
ax.contour3D(x, y, f, 100)
plt.show()
コメント