自由落下に関するpythonプログラムを作ってみます。
なお、初速度 v0 が 0 m/s で、地上から自由落下する物体が 10 秒後にどのくらいの速度に達するかを計算し、結果を表示するPythonプログラムを作ります。
■今回の環境(Python)
今回のPythonは、バージョン3.10.12を用いる。(なお、Google Colaboratory(Google Colab)を使用。)
■結果を表示するPythonプログラム
■コード
# 重力加速度 (m/s²)
g = 9.81
# 初速度 (m/s)
v0 = 0
# 時間 (秒)
t = 10
# 速度を計算
v = v0 + g * t
# 結果を表示
print("10 秒後の速度は {:.2f} m/s です。".format(v))■検証、確認
作成したコードは、Google Colaboratoryの新しいノートブック上のセルにコードを記述します。その後「セルを実行」ボタンをクリックします。
先に計算した結果を書くと「98.10 m/s」となります。クリックすると、Google Colaboratory上で処理された結果を確認すると「10 秒後の速度は 98.10 m/s です。」と出力させることができました。
■補足
※速度の時間変化をアニメーションとして描画するためのコード
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.animation import FuncAnimation
# 重力加速度 (m/s²)
g = 9.81
# 初速度 (m/s)
v0 = 0
# 時間 (秒)
t = 10
# 時間の配列を作成(0からtまで0.1秒刻み)
time = np.arange(0, t, 0.1)
# 速度の配列を計算
velocity = v0 + g * time
# グラフの初期設定
fig, ax = plt.subplots()
ax.set_xlim(0, t)
ax.set_ylim(0, max(velocity) + 1)
line, = ax.plot([], [], lw=2)
# アニメーションの初期化
def init():
line.set_data([], [])
return line,
# アニメーションのフレーム更新
def update(frame):
x_data = time[:frame]
y_data = velocity[:frame]
line.set_data(x_data, y_data)
return line,
# アニメーションの作成
ani = FuncAnimation(fig, update, frames=len(time), init_func=init, blit=True)
# アニメーションの表示
plt.xlabel('Time (s)')
plt.ylabel('Velocity (m/s)')
plt.title('Velocity vs. Time')
plt.show()



コメント