Pythonで2つの物体間に働く重力を計算する方法
2つの物体の間に働く重力(万有引力)を求めたい場合、「find_gravity」という名前の関数を定義し、3つのパラメータを渡して呼び出すのが効果的です。この記事では、ニュートンの万有引力の法則に基づいて重力を計算するPythonプログラムを紹介します。
万有引力の法則とは
2つの物体間に働く重力は、次の公式で求めることができます。
F = G × m₁ × m₂ / r²
- F:物体間に働く重力(単位:N ニュートン)
- G:万有引力定数(約 6.673 × 10⁻¹¹ N·m²/kg²)
- m₁、m₂:それぞれの物体の質量(kg)
- r:2つの物体の重心間の距離(m)
サンプルコード
以下は、上記の公式を使って重力を計算するPythonプログラムの例です。
def find_gravity(m_1, m_2, r):
G_val = 6.673*(10**-11)
F_val = (G_val*m_1*m_2)/(r**2)
return round(F_val, 2)
m_1 = 6000000
m_2 = 1000000
r = 45
print("The gravitational force is: ")
print(find_gravity(m_1, m_2, r), "N")
実行結果
The gravitational force is: 0.2 N
コードの解説
まず「find_gravity」という名前の関数を定義し、質量2つと距離の合計3つの引数を受け取れるようにします。
関数内では、万有引力定数Gを変数「G_val」に格納し、公式に従って重力Fを計算します。
計算結果は「round()」関数を使って小数点以下2桁に丸められ、戻り値として返されます。
関数の外側では、2つの物体の質量(6000000 kg と 1000000 kg)と距離(45 m)を表す3つの整数値を定義しています。
これらの値を引数として渡して関数を呼び出し、得られた重力の値をコンソールに出力します。
まとめ
このように、Pythonでは簡単な関数を定義するだけで、物理法則に基づいた重力の計算を実装できます。質量や距離の値を変更すれば、さまざまな条件下での重力を柔軟に求めることが可能です。科学技術計算の入門としても最適な例なので、ぜひ実際にコードを動かしてみてください。
-
Pythonで行列の転置を求めるプログラム
この記事では、与えられた問題に対する解法とアプローチについて詳しく解説します。 問題文 ある行列が与えられたとき、その転置を同じ行列に格納し、結果を表示する必要があります。 行列の転置とは、行を列に、列を行に入れ替えたものです。言い換えれば、行列Aの転置は、要素A[i][j]をA[j][i]と入れ替えることで得られます。 実装例 N = 4 def transpose(A): for i in range(N): for j in range(i+1, N): A[i][j], A[j][i] = A[j][i], A[i][j] # ドライ
-
Pythonで配列(リスト)の合計を求める方法をわかりやすく解説
この記事では、配列(リスト)の合計値を求めるという問題に対して、Pythonでの解決策とアプローチをわかりやすく解説します。 問題の定義 配列が入力として与えられたとき、その配列に含まれるすべての要素の合計を計算することを目標とします。 例えば、[1, 2, 3, 4, 5] という配列が与えられた場合、出力は 15 になります。 アプローチ1:ループを使った素朴な方法(総当たり法) 最も基本的な方法は、リストを先頭から順に走査し、各要素を合計用の変数に加算していくやり方です。手順は以下の通りです。 合計を格納する変数を 0 で初期化します。 for ループでリストの各要素を取り出し、順番に