見出し画像

3Dプロットの練習

最適化数学がわからないので、
これならわかる最適化数学(金谷健一著・共立出版)
を読んでます。

例題3.2 次の関数を考える
f(x,y) = x^3 + y^3 - 9xy + 27
1. この関数の点(3,2)における2次近似を求めよ
2. この2次近似が極値を取る点を求めよ
3. f(x,y)が極値を取る点をニュートン法で計算するにはどうしたらよいか

問題の解き方は置いといて、とりあえずグラフが書きたかった。

グラフをかく

jupyterでかいてたら 3-4行目(mpl_toolkitsのインポートと%matplootlib notebook)でつまった。
matplotlibのバージョンが古かったからと思われる。
トラブルシュートはhttps://note.mu/moghr/n/n82ce1744bd78 を参照。

# coding: utf-8
# # 例題3.2
# 
# f(x,y) = x^3 + y^3 - 9xy + 27
# In[11]:
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
%matplotlib notebook
# In[12]:
x = np.arange(-10,10,0.01)
y = np.arange(-10,10,0.01)
# meshgrid
X,Y = np.meshgrid(x,y)
print "x=" , x
print "X=" , X
print "y=" , y
print "Y=" , Y
# In[14]:
print x.size
print X.size
# In[15]:
Z = X*X*X + Y*Y*Y -9*X*Y + 27
# In[16]:
fig = plt.figure()
ax = Axes3D(fig)
ax.plot_wireframe(X,Y,Z)

あってることにしよう。


いいなと思ったら応援しよう!

Masanori
皆様から頂戴したサポートは、年単位で清算し、半額を1000円単位で日本赤十字社への募金、残りの半額を週末の夕飯の食費に回します! どうかあたたかいご支援をよろしくお願いいたします!