スポンサーリンク
物理法則の基本とされる「自由落下運動」は、Pythonで容易に演算することができます。
本記事では、Pythonを使用した自由落下運動の関数実装方法とグラフ化方法について、詳しくご説明します。
自由落下運動
自由落下運動(free fall)とは、物体に重力のみが作用し、鉛直方向下向きに自由落下する運動のことです。
空気抵抗を無視した場合の自由落下運動の速度と変位は、重力加速度\(g\)を使用して、下式で表されます。(鉛直方向下向きを正とした場合)
\(v=gt\)
\(y=\dfrac{1}{2}gt^{2}\)
自由落下運動の関数実装
SciPyのscipy.constants.gを使用して、自由落下運動の任意の時間における速度と変位を計算する関数実装例を、以下にご紹介します。
#input
import scipy.constants as const
T = input("時間:")
t = int(T)
v = const.g * t
y = 1/2 * const.g * t**2
print("速度:{:.3f}".format(v))
print("変位:{:.3f}".format(y))
#input
時間:3
#output
速度:29.420
変位:44.130
自由落下運動の速度-時間グラフ
MatplotlibとNumPy、SciPyのscipy.constants.gを使用して、自由落下運動の速度-時間グラフを作成してみます。
import numpy as np
import matplotlib.pyplot as plt
import scipy.constants as const
fig = plt.figure(figsize = (6,6))
A = fig.add_subplot(111)
A.grid(color="k",linestyle="dotted")
A.set_title("velocity of free-fall", fontsize = 16)
A.set_xlabel("t", fontsize = 14)
A.set_ylabel("v", fontsize = 14)
A.set_xlim(0,10)
x = np.linspace(0,10,129)
y = const.g * x
A.plot(x,y,color="deeppink")
plt.show()
自由落下運動の変位-時間グラフ
同様に、自由落下運動の変位-時間グラフを作成してみます。
import numpy as np
import matplotlib.pyplot as plt
import scipy.constants as const
fig = plt.figure(figsize = (6,6))
A = fig.add_subplot(111)
A.grid(color="k",linestyle="dotted")
A.set_title("displacement of free-fall", fontsize = 16)
A.set_xlabel("t", fontsize = 14)
A.set_ylabel("y", fontsize = 14)
A.set_xlim(0,10)
x = np.linspace(0,10,129)
y = 1 / 2 * const.g * x**2
A.plot(x,y,color="blue",lw=3)
plt.show()
まとめ
この記事では、Pythonを使用した自由落下運動の関数実装方法とグラフ化方法について、ご説明しました。
本記事を参考に、ぜひ試してみて下さい。
参考
Python学習用おすすめ教材
Pythonの基本を学びたい方向け
リンク
統計学基礎を学びたい方向け
リンク
Pythonの統計解析を学びたい方向け
リンク
おすすめプログラミングスクール
Pythonをはじめ、プログラミングを学ぶなら、TechAcademy(テックアカデミー)がおすすめです。
私も入っていますが、好きな時間に気軽にオンラインで学べますので、何より楽しいです。
現役エンジニアからマンツーマンで学べるので、一人では中々続かない人にも、向いていると思います。
無料体験ができますので、まずは試してみてください!
\まずは無料体験!/
スポンサーリンク