サンプルプログラムで使われる?メキシカンハット?みたいな3Dグラフの描き方を教えて

Sources
qiita.com favicon
rinearn.com favicon
View 2 more
Answer
メキシカンハット関数は、3Dグラフのサンプルとしてよく使われる関数で、その形状が逆さまのソンブレロ(メキシカンハット)に似ていることから名付けられました。Pythonを使ってこのグラフを描く方法を説明します。 以下は、メキシカンハット関数を描画するためのPythonコードの例です:
python
import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D # データ点の生成 x = np.linspace(-8, 8, 100) y = np.linspace(-8, 8, 100) X, Y = np.meshgrid(x, y) # メキシカンハット関数の定義 R = np.sqrt(X**2 + Y**2) Z = np.sin(R) / R # 3Dプロット fig = plt.figure() ax = fig.add_subplot(111, projection='3d') surf = ax.plot_surface(X, Y, Z, cmap='viridis') # グラフの設定 ax.set_xlabel('X') ax.set_ylabel('Y') ax.set_zlabel('Z') ax.set_title('Mexican Hat Function') # カラーバーの追加 fig.colorbar(surf) plt.show()
このコードは以下の手順でメキシカンハット関数を描画します:
  1. 必要なライブラリ(NumPy、Matplotlib)をインポートします。
  2. x軸とy軸の範囲を定義し、meshgrid関数を使って2次元グリッドを作成します。
  3. メキシカンハット関数 f(r)=sin(r)rf(r)=\frac{\sin(r)}{r} を定義します。ここで、r=x2+y2r=\sqrt{x^2+y^2} です。
  4. matplotlib.pyplot を使って3Dグラフを描画します。plot_surface関数を使用して曲面をプロットします
  5. グラフにラベルとタイトルを追加し、カラーバーを表示します。
このコードを実行すると、メキシカンハット関数の3Dグラフが表示されます。グラフは中央が凹んでおり、その周りに波紋のような形状が広がっています。 また、等高線を描画したい場合は、plt.contour または plt.contourf 関数を使用できます メキシカンハット関数は、信号処理や画像処理、機械学習など様々な分野で使用される重要な関数の一つです。このような3Dグラフの描画は、データの視覚化や関数の挙動の理解に役立ちます。
Related
メキシカンハットの具体的なコード例を教えて
他の3Dグラフの描画方法も知りたい
MATLABを使ってメキシカンハットを描画する方法は
リニアングラフ3Dの使い方を詳しく知りたい
メキシカンハット以外の3Dグラフの種類は何がある
数式で一瞬に描く[曲線と曲面]:メキシカンハット - YouTube
数式で一瞬に描く[曲線と曲面]:メキシカンハット - YouTube
Watch
okumuralab.org
vcssl.org
datachemical.com
ksknw.hatenablog.com
desmos.com
teratail.com
View More