※タイトルはChatGPTに考えさせてます。
きっかけ
gpt4に数学の問題を作成させて、それを解かせるという動画を見かけた。
https://www.youtube.com/watch?v=riP_P01e_Ms
「数学はそのうちやってみたい。でもなかなか触る気になれない・・・」
が何年も続いているが、ChatGPTと絡めてやると楽しそうだ。
そしてせっかくならPythonコードも書かせてみたら、数学の教科書を読むより楽しいのでは?
と思った。
試しに問題を用意させた
高校3年生レベルの数学問題を3問ほど出して。また、それを解くPythonコードも用意して。
以下の結果が返ってきた。
問題1:
二次関数 y = ax^2 + bx + c の頂点を求める。
ここで、a = 2, b = -4, c = 3 とする。
問題2:
二つの点 A(3, 4) と B(7, 8) の間の距離を求める。
問題3:
角度θが 30 度の場合、sinθ と cosθ の値を求める。
コード作成
そしてそして。コーディングもセットでついてくる。
以下に、それぞれの問題を解くPythonコードを示します。
math_test.py
import math
# 問題1: 二次関数の頂点を求める
def quadratic_vertex(a, b, c):
x_vertex = -b / (2 * a)
y_vertex = a * x_vertex ** 2 + b * x_vertex + c
return x_vertex, y_vertex
a, b, c = 2, -4, 3
x_vertex, y_vertex = quadratic_vertex(a, b, c)
print(f"問題1: 頂点座標: ({x_vertex}, {y_vertex})")
# 問題2: 二点間の距離を求める
def distance_between_points(x1, y1, x2, y2):
return math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2)
x1, y1 = 3, 4
x2, y2 = 7, 8
distance = distance_between_points(x1, y1, x2, y2)
print(f"問題2: 点Aと点Bの距離: {distance}")
# 問題3: sinθ と cosθ の値を求める
def sin_cos_of_angle(degrees):
radians = math.radians(degrees)
sin_theta = math.sin(radians)
cos_theta = math.cos(radians)
return sin_theta, cos_theta
degrees = 30
sin_theta, cos_theta = sin_cos_of_angle(degrees)
print(f"問題3: sinθ = {sin_theta}, cosθ = {cos_theta}")
ええやん。
「学び直ししたいけど、教科書読めない・・・」という人にお勧め。