MIPO

MANABE INTELLECTUAL PROPERTY OFFICE

そもそもどんな図形なのか?

東大の2012年文系の数学入試問題に次のような出題があるそうです。

2012東京大 文系 楕円のxの最大値を求める【数検1級/準1級/大学数学/中高校数学】
https://www.youtube.com/watch?v=8fwYzxuiX0A

この問題自体は次のようにして解けます。

ところで、問題のx、yの2次方程式 2x^2+4xy+3y^2+4x+5y−4=0は、一体どんな曲線(おそらく楕円でしょう)を描くか気になりました。

そこで、ChatGPTにこの関数曲線を描くプログラム(Python)を「Pythonで次のカーブを描くプログラムは作れますか? 楕円だと思うのですが。 2x^2+4xy+3y^2+4x+5y-4=0」と問うたところ、次のような答えを出してくれました。

import numpy as np
import matplotlib.pyplot as plt

#楕円の方程式

def ellipse(x, y):
return 2*x**2 + 4*x*y + 3*y**2 + 4*x + 5*y – 4

#グラフの範囲を設定

x = np.linspace(-5, 5, 400)
y = np.linspace(-5, 5, 400)
X, Y = np.meshgrid(x, y)

#楕円の方程式に基づいてZ値を計算

Z = ellipse(X, Y)

#Zが0に等しい点をプロット

plt.contour(X, Y, Z, levels=[0], colors=’b’)
plt.xlabel(‘X’)
plt.ylabel(‘Y’)
plt.title(‘Ellipse’)
plt.grid(True)
plt.axis(‘equal’)
plt.show()

これを、Jupyter Notebookで走らせてみると次のグラフを描いてくれました。

なるほど、xの範囲が、ー3.56から2.56の範囲に収まっていることが分かります。

ちなみに、yの範囲を求めるには次のように計算します。

この結果は、上のグラフと一致しております。

こういったことからしても、ChatGPTとPythonとの連携によるグラフの描画は、実に役立ちますね~ 感心! 感心!! 数学などの教育分野でリアルな関数のグラフが簡単に描けるという利点がありますね。