VisualC++ と OpenGL を利用した仮想物理実験室
【1-2-6】差分と微分
【1-1-5】等差数列を用いた等速度直線運動の解析解の導出では、等速度直線運動の解析解を等差数列の和を用いて計算しました。 等速度直線運動の場合、速度 v[m/s]が一定であるため、時間間隔 Δt の大きさによらず、 数値解と解析解とに差はないことが確認できました。
一方、【1-2-4】階差数列を用いた等加速度直線運動の解析解の導出では、 時間間隔 Δt の大きさにより、数値解に差があることが確認できました。 また、Δt → 0 とする極限をとることで、解析解を求めることができました。 本節では、計算前にΔt → 0 の極限を扱うために、高等学校で学習する微分を導入します。
差分と微分
はじめに、1次元の場合を考えます。 時刻 t=t_n[s]の速度 v_n[m/s]は、時刻 t=t_n の位置 x_n と時刻 t=t_{n-1} の位置 x_{n-1}を用いて、
と定義することができます。この関係式は、速度は位置の変化分を時間の変化分で割ったもの、つまり、平均の速度を表しています。また、Δt は 0 ではない有限の値を想定しているので、式(1.2.6-1)は、差分の関係式です。
今後の展開のために、記号の意味を整理しておきます。
1.x_n は、時刻 t_n のときの位置を表し、関数 x(t_n)のようにもと書くことができます。
2.Δt は、t_n と t_{n-1} との時間間隔を表し、n によらず一定の値です。
3.t_0 = 0 と時間の基準とすると、t_n は Δt の n 倍 となり、それを改めて t と表記する。
等加速度直線運動をコンピュータでシミュレーションをするために、Δt を勝手な好きな値を決めて実行しました。 つまり、離散的(飛び飛び)な時間で計算していました。 しかしながら、我々の住むこの世界の時間は離散的ではなく、連続的です。つまり、Δt → 0 の世界です。式(1.2.6-1)で、Δt → 0 の極限にもっていくことで、我々の住む世界を記述することできる関係式を導出します。
微分の定義
lim_{Δt→0} の記号は、Δt → 0 の極限をとるという意味の数学の記号です。時間の変化分 Δt が小さくなればなるほど、位置の変化分 x(t) - x(t-Δt) も小さくなります。そして、Δt → 0 の極限をとったときの微小時間を dt 、位置の微小変化分を dx と表記します。つまり、dx(t)/dt は、v(t) は、時刻 t[s] のときの瞬間の速度という意味になります。 Δt → 0 の極限をとったものは、時刻 t[s] による微分と定義されます。
上図は例として、時刻 t[s]に対する位置 x[m]の関係を図示したものです。 Δt が有限の場合の平均の速度と(上図の青線と赤線)、Δt → 0 の極限の場合の瞬間の速度(上図の水色線)を傾きで表しています。傾きは、Δt が小さいほど、x(t) 曲線の接線の傾きに近づくことが理解できます。
べき関数の微分
べき関数とは、一次関数、二次関数のように○次関数の一般的な呼び名です。 具体的な例として次の関数の微分を、式(1.2.6-3)の定義式に則って計算します。
微分を計算するためには、x(t-Δt)を計算する必要があります。式(1.2.6-4)で、t → t-Δt として代入します。
高校数学で学習する二項定理を適用し、 さらに、Δt の1次までを和の式から取り出しておきます。 それは微分を計算するときに、 x(t) - x(t-Δt) を計算し、Δt で割るためです。
式(1.2.6-4)と式(1.2.6-5)を式(1.2.6-3)に代入します。
上式は、任意の m で成り立ちます。 つまり、べき関数の場合、指数部分が係数部分へと降りてきて、次数が1つ減ることがわかりました。
様々なべき関数の微分の例
速度の微分
ここまでで、位置 x(t) の微分が速度 v(t) であることがわかりました。 この関係は、速度 v(t) と加速度 a(t) の関係でも成り立ちます。 時刻 t=t_n[s]の速度 a_n[m/s]は、時刻 t=t_n の位置 v_n と時刻 t=t_{n-1} の位置 v_{n-1}を用いて、
と定義できます。この関係式は、加速度は速度の変化分を時間の変化分で割ったもの、つまり、平均の加速度を表しています。また、Δt は 0 ではない有限の値を想定しているので、式(1.2.6-10)は、差分の関係式です。 位置と速度の関係と同様に、Δt → 0 の極限をとると、
となります。位置と速度の関係と同様にグラフで表す次のようになります。
上図は、時刻 t[s]に対する位置 v[m/s]の関係を図示したものです。 Δt が有限の場合の平均の加速度と(上図の青線と赤線)、Δt → 0 の極限の場合の瞬間の加速度(上図の水色線)を傾きで表しています。傾きは、Δt が小さいほど、x(t) 曲線の接線の傾きに近づくことが理解できます。
差分と微分の関係
ここまでの関係性を整理します。
位置 x[m] を 時刻 t[s]で微分すると、速度 v[m/s]となる
単位に着目すると、左辺が [m/s] 右辺は [m]/[s] となるため、両辺の単位は一致しています。
位置 v[m/s] を 時刻 t[s]で微分すると、速度 a[m/s^2]となる
同様に単位に着目すると、左辺が [m/s^2] 右辺は [m/s]/[s] となるため、両辺の単位は一致しています。
つまり、位置の時間変化 x(t) がわかっていれば、位置を微分することで速度がわかり、 さらに、速度を微分することで加速度がわかるという関係があります。
等加速度直線運動の速度と加速度
等加速度直線運動の位置 x(t) の解析解は、【3.2日目】等加速度直線運動の解析解1:階差数列にて、求めました。
両辺を 時刻 t[s] で微分します。
速度 v(t) を求めることができました。 速度 v(t) は、初速度 v_0 に、加速度 a と時間 t を掛けたものになります。 さらに、両辺を時刻 t[s] で微分します。
加速度 a(t) を求めることができました。 等加速度直線運動の場合、時刻 t によらず加速度 a は一定(定数)なります。
以上のように、位置 x(t) の解析解がわかっている場合、時刻 t[s] で微分することによって、 速度、さらには加速度を計算することができることがわかりました。 次節では、これまでとは逆に、加速度がわかっている場合に、位置を計算するための手法を解説します。
備考
二項定理
組み合わせの記号
高校数学で学習する組み合わせです。 式(1.2.6-7)は、m個からk個を選択するときの組み合わせの数を表しています。 上記の「!」は、階乗を表す数学記号です。
VisualC++ と OpenGL を利用した仮想物理実験室
第0章 仮想物理実験室の構築
- 【0-1】OpenGL と Visual C++ 2008 Express Edition の準備
- 【0-2】仮想物理実験室の構築 ・(0-2-1)ver1.0:基本形 ・(0-2-1)ver1.1:基本形+ばねの描画 ・(0-2-2)ver1.2:基本形+ばねの描画
- 【0-3】グラフ作成ソフト gnuplot のインストールと使い方
- 【A-1】参考文献
・(A-1-1)OpenGL について
・(A-1-2)VisualC++ について
・(A-1-3)物理シミュレーション
・(A-1-4)数値計算
第1章 様々な運動
- 【1-1】等速度直線運動
- ・(1-1-1)物理量について
- ・(1-1-2)等速度直線運動のアルゴリズムの導出
- ・(1-1-3)等速度直線運動のシミュレーション
- ・(1-1-4)等速度直線運動のグラフ化
- ・(1-1-5)等差数列を用いた等速度直線運動の解析解の導出
- ・(1-1-6)等速度直線運動のシミュレーション結果と解析解との比較
- 【1-2】等加速度直線運動
- ・(1-2-1)等加速度直線運動のアルゴリズムの導出
- ・(1-2-2)等加速度直線運動のシミュレーション
- ・(1-2-3)等加速度直線運動のグラフ化
- ・(1-2-4)階差数列を用いた等加速度直線運動の解析解の導出
- ・(1-2-5)等加速度直線運動のシミュレーション結果と解析解との比較
- ・(1-2-6)差分と微分
- ・(1-2-7)和分と積分
- ・(1-2-8)微分・積分を利用した等加速度直線運動の解析解の導出
- 【1-3】等加加速度直線運動
- ・(1-3-1)等加加速度直線運動のアルゴリズムの導出
- ・(1-3-2)等加加速度直線運動のシミュレーション
- ・(1-3-3)等加加速度直線運動のグラフ化
- ・(1-3-4)等加加速度直線運動の解析解の導出
- ・(1-3-5)等速度直線運動のシミュレーション結果と解析解との比較
- 【1-4】等速度円運動
- ・(1-4-1)等速度円運動のアルゴリズムの導出
- ・(1-4-2)等速度円運動のシミュレーション
- ・(1-4-3)等速度円運動のグラフ化
- ・(1-4-4)等速度円運動の解析解の導出
- ・(1-4-5)等速度円運動のシミュレーション結果と解析解との比較
- 【1-5】等加速度円運動
- ・(1-5-1)等加速度円運動のアルゴリズムの導出
- ・(1-5-2)等加速度円運動のシミュレーション
- ・(1-5-3)等加速度円運動のグラフ化
- ・(1-5-4)等加速度円運動の解析解の導出
- ・(1-5-5)等加速度円運動のシミュレーション結果と解析解との比較
第2章 ニュートンの運動方程式
- 【2-1】重力による運動:自由落下運動
- ・(2-1-1)加速度・力・質量の関係:ニュートンの運動方程式
- ・(2-1-2)重力による運動のアルゴリズムの導出
- ・(2-1-3)重力による自由落下運動のシミュレーション
- ・(2-1-4)重力による自由落下運動のグラフ化
- ・(2-1-5)重力による自由落下運動の解析解の導出
- ・(2-1-6)重力による自由落下運動のシミュレーション結果と解析解との比較
- 【2-2】重力による運動:鉛直投射運動
- ・(2-2-1)重力による鉛直投射運動のシミュレーション
- ・(2-2-2)重力による鉛直投射運動のグラフ化
- ・(2-2-3)重力による鉛直投射運動の解析解
- ・(2-2-4)重力による鉛直投射運動のシミュレーション結果と解析解との比較
- 【2-3】重力による運動:水平投射運動
- ・(2-3-1)重力による水平投射運動のシミュレーション
- ・(2-3-2)重力による水平投射運動のグラフ化
- ・(2-3-3)重力による水平投射運動の解析解
- ・(2-3-4)重力による水平投射運動のシミュレーション結果と解析解との比較
- 【2-4】重力による運動:斜方投射運動
- ・(2-4-1)重力による斜方投射運動のシミュレーション
- ・(2-4-2)重力による斜方投射運動のグラフ化
- ・(2-4-2)重力による斜方投射運動の解析解
- ・(2-4-3)重力による斜方投射運動のシミュレーション結果と解析解との比較
- 【2-5】重力による運動:斜方投射運動2
- ・(2-5-1)重力による斜方投射運動における初速度の分解
- ・(2-5-2)重力による斜方投射運動2のシミュレーション
- ・(2-5-3)重力による斜方投射運動2のグラフ化
- ・(2-5-4)重力による斜方投射運動2の投射角度と飛距離の関係
- ・(2-5-5)重力による斜方投射運動2の解析解
- ・(2-5-6)重力による斜方投射運動2のシミュレーション結果と解析解との比較
- 【2-6】重力+空気抵抗力による運動:自由落下運動
- ・(2-6-1)重力+空気抵抗力による運動の運動方程式とアルゴリズム
- ・(2-6-2)重力+空気抵抗力による自由落下運動のシミュレーション
- ・(2-6-3)重力+空気抵抗力による自由落下運動の解析解の導出
- ・(2-6-4)重力+空気抵抗力による自由落下運動のシミュレーション結果と解析解との比較
- 【2-7】重力+空気抵抗力による運動:斜方投射運動
- ・(2-7-1)重力+空気抵抗力による斜方投射運動のシミュレーション
- ・(2-7-2)重力+空気抵抗力による斜方投射運動の解析解の導出
- ・(2-7-3)重力+空気抵抗力による斜方投射運動のシミュレーション結果と解析解との比較
- 【2-8】ばね弾性力による運動:単振動運動(1次元)
- ・(2-8-1)ばね弾性力による運動の運動方程式(1次元)とアルゴリズム
- ・(2-8-2)ばね弾性力による単振動運動(1次元)のシミュレーション
- ・(2-8-3)ばね弾性力による単振動運動(1次元)の解析解の導出
- ・(2-8-4)ばね弾性力による単振動運動(1次元)のシミュレーション結果と解析解との比較
- 【2-9】ばね弾性力による運動:単振動運動(2次元)
- ・(2-9-1)ばね弾性力による運動の運動方程式と(2次元)アルゴリズム
- ・(2-9-2)ばね弾性力による単振動運動(2次元)のシミュレーション
- ・(2-9-3)ばね弾性力による単振動運動(2次元)の解析解:微分・積分を利用した解析解の導出
- ・(2-9-4)ばね弾性力による単振動運動(2次元)のシミュレーション結果と解析解との比較
- 【2-10】ばね弾性力+重力がある場合の運動:単振動運動(3次元)
- ・(2-10-1)ばね弾性力+重力による運動の運動方程式(3次元)とアルゴリズム
- ・(2-10-2)ばね弾性力+重力による単振動運動(3次元)のシミュレーション
- ・(2-10-3)ばね弾性力+重力による単振動運動(3次元)の解析解の導出
- ・(2-10-4)ばね弾性力+重力による単振動運動(3次元)のシミュレーション結果と解析解との比較
- 【2-11】ばね弾性力+重力がある場合の運動:多重連結ばねの運動
- ・(2-11-1)ばね弾性力の一般化
- ・(2-11-2)ばね弾性力+重力による多重連結ばねの運動の運動方程式
- ・(2-11-3)ばね弾性力+重力による多重連結ばねの運動のアルゴリズムの導出
- ・(2-11-4)ばね弾性力+重力による多重連結ばねの運動のシミュレーション
- 【2-12】ばね弾性力+遠心力がある場合の運動:円運動
- ・(2-12-1)遠心力の導出
- ・(2-12-2)遠心力+ばね弾性力による運動の運動方程式
- ・(2-12-3)遠心力+ばね弾性力による運動のアルゴリズムの導出
- ・(2-12-4)遠心力+ばね弾性力による運動のシミュレーション
- 【2-13】張力+重力がある場合の運動:単振子運動.html
- ・(2-13-1)張力の導出
- ・(2-13-2)張力+重力による多重連結ばねの運動の運動方程式
- ・(2-13-3)張力による多重連結ばねの運動のアルゴリズムの導出
- ・(2-13-4)張力による多重連結ばねの運動のシミュレーション
- 【2-14】万有引力による運動1:楕円運動
- ・(2-14-1)万有引力の導出
- ・(2-14-2)万有引力による運動の運動方程式
- ・(2-14-3)万有引力による運動のアルゴリズムの導出
- ・(2-14-4)初速度と軌道の関係
- ・(2-14-5)万有引力による運動のシミュレーション
- 【2-15】万有引力による運動2:円運動
- ・(2-15-1)万有引力による運動が円運動になるための条件
- ・(2-15-2)初速度の与え方
- ・(2-15-3)万有引力による円運動のシミュレーション
- 【2-16】万有引力による運動3:3体運動
- ・(2-16-1)3体運動とは
- ・(2-16-2)万有引力による3体運動の運動方程式
- ・(2-16-3)万有引力による3体運動のアルゴリズムの導出
- ・(2-16-3)万有引力による3体運動のシミュレーション
第3章 剛体の運動(エネルギー保存則と運動量保存則)
- 【3-1】床と球の衝突
- 【3-2】壁と球の衝突
- 【3-3】円柱と球の衝突(1次元)
- 【3-4】円柱と球の衝突(2次元 x-y平面)
- 【3-4-2】円柱と球の衝突(2次元 x-z平面)
- 【3-5】球と球の衝突(1次元)
- 【3-6】球と球の衝突(2次元)
- 【3-7】球と球の衝突(3次元)
付録
- 【A-1】参考文献
・(A-1-1)OpenGL について
・(A-1-2)VisualC++ について
・(A-1-3)物理シミュレーション
・(A-1-4)数値計算
未分類
力学
- ・ 2体問題のシミュレーション(C言語+ルンゲクッタ法)
- ・ ラグランジュ未定乗数法を用いた2重振子のシミュレーション
- ・ ラグランジュ未定乗数法を用いた球面振子のシミュレーション
- ・ ラグランジュ運動方程式2:極座標を用いた球面振子
- ・ ラグランジュ運動方程式1:極座標を用いた単振子
量子力学
- ・ 1次元量子力学の調和振動子における単一エネルギーの時間発展
- ・ 1次元量子力学の調和振動子における任意の初期状態に対する時間発展
- ・ 1次元量子力学の調和振動子におけるコヒーレント状態の空間分布
- ・ 1次元量子力学の調和振動子におけるコヒーレント状態の時間発展
- ・ 1次元量子力学の調和振動子における n励起状態の運動量表示
- ・ 1次元量子力学の調和振動子における任意の初期運動量分布に対する時間発展
- ・ 1次元量子力学の調和振動子における任意の初期運動量分布+任意の中心座標に対する時間発展
- ・ 1次元量子力学の調和振動子における任意の初期空間分布+任意の中心運動量に対する時間発展(最も簡単な方法)
- ・ 無限に深い2次元井戸型ポテンシャル
- ・ 無限に深い2次元井戸型ポテンシャル2
- ・ 無限に深い2次元井戸型ポテンシャル3
- ・ 無限に深い2次元井戸型ポテンシャル
- ・ 2次元自由粒子
- ・ 無限に深い井戸型ポテンシャルの時間発展2
- ・ シュレディンガー方程式に従う粒子の時間発展2:無限に深い井戸型ポテンシャルの時間発展
- ・ シュレディンガー方程式に従う粒子の時間発展:自由粒子