アプリ版:「スタンプのみでお礼する」機能のリリースについて

放物線の運動で空気抵抗を考える場合のプログラムってどう作ったらいいんですか?fortran初心者です。

A 回答 (3件)

いわゆる微分方程式を解く必要があります。


コンピュータで解くには微小時間ごとの状態を計算することになります。
回転していないボールとして
ある瞬間のボールの
X座標,Y座標,
X方向の速度,Y方向の速度,
X方向の空気抵抗,Y方向の空気抵抗,Y方向の引力,
X方向の移動量,Y方向の移動量
等を例えば1ミリ秒単位で計算してボールの軌道を求めます。
エクセルでも可能です。
    • good
    • 0

Fortran云々の前に、数式で空気抵抗を考慮した物体の運動を記述できますか?(言い換えれば、紙と鉛筆で運動方程式を立てて解けます

か?)
    • good
    • 0

1年ほど前に、放物線運動を解析したことがあるので、コメントさせていただきます。



プログラムのことを考える前に、物体の動きを良く理解する必要があります。物体の動きを理解していないと、作ったプログラムの動作が正しいかどうか確認することが出来なくなってしまいます。今回に限らず、技術計算の場合、作ったプログラムが正しく動作しているかどうかは、そのプログラムの基本となる数式通りに計算が行われているかどうかで判断することになります。

 さて、物体が空気中で運動するときは、速度の二乗の抵抗を受けます。物体の運動はx軸とy軸の成分に分けて計算しますが、どちらの運動も速度の二乗の抵抗を受けます。空気の抵抗を無視した場合は、x軸方向の力は常に0でしたが、今回は空気の抵抗を考慮していますので、x方向の運動に対しても速度の二乗の抵抗を受ける運動として計算します。
 y方向は重力と速度の二乗の力を受けます。重力は常に大地に向かう向きで働きますが、空気抵抗は物体の速度が0に近づくように働きます。

以上が物体の運動を考える上で必要な力です。これらの力を使って物体の運動方程式を作ります。
 
 m(dVx/dt)=-kVx^2 ・・・・・・・・・・(1)
m(dVy/dt)=-kVy^2 -mg (上昇時)・・・(2)
m(dVy/dt)=kVy^2 -mg (降下時)・・・(3)

  但し、kは粘性係数

y方向は上昇と降下でそれぞれ違っの式になってしまうことに注意してください。
この式をオイラー法またはルンゲ・クッタ法で数値的に計算することになります。上昇時は式1と式2を使って計算します。物体が頂点に達したら、即ち、Vy=0になったら式(2)を式(3)代えて計算を続けます。

 物体が降下するとき、Vyは一定の速度に達します。これは重力と空気の粘性抵抗の大きさが等しくなるためです。そのときの速度は以下のとおりです。
  Vy(終端速度)=sqrt(mg/k)

 さて、プログラムで上記の計算を行わせて得られた結果が正しいことを証明するには、上記の運動の解析解と比較するのが一番です。
上記の運動の解析解は長い計算を必要としますので割愛します。しかし、計算の一部は、例えば、書籍「力学 新しい視点にたって」戸田ほか共訳 培風館に有ります。
 なお、空気抵抗が速度に比例すると考えた場合は、上記の運動方程式が少し違ってきます。(簡単になります)この計算の一部は、例えば、書籍「物理入門コース1 力学」戸田著 岩波書店 に有ります。

 放物線運動は解析解が得られるので、それと比較することで、数値計算が正しいかどうか確認できます。私は、表計算でこれらの運動方程式を計算したことがありますが、あまりお勧めしません。但し、このような技術計算が初めての場合は、運動方程式を理解するためには、必要です。しかし、今後も、運動方程式の数値解析を行うのであれば、簡単なシミュレーションソフト(市販)を用意した方が良いと思います。







 
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!