Himmelblau関数を描画する

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()

コメント

タイトルとURLをコピーしました