2009/3/29 更新   

電車ゲーム

制動距離

制動距離とは、ブレーキをかけ始めてから停止するまでの移動距離のことである。
ブレーキによる減速度を a 、
対気速度の2乗に対する空気抵抗の大きさを質量で割った値を k 、
吹く風の強さを vc(追い風なら正、向い風なら負)、
ブレーキ開始時の速度を v0 とすると、
制動距離は以下の式で求まる(理由は後で説明)。

 vc<0 の場合、
  (1/k)( ln(cos ((√(ka))t2)) - ln(cos((√(ka))t1))) + vc(t2 - t1)
  ただし、
   t1 = (1/(√(ka)))arctan ((√(k/a))(vc - v0))
   t2 = (1/(√(ka)))arctan ((√(k/a)) vc    )
 vc≧0 の場合、
  (1/k)(- ln(cosh((√(ka))t2)) - ln(cos((√(ka))t1))) + vc(t2 - t1)
  ただし、
   t1 = (1/(√(ka)))arctan ((√(k/a))(vc - v0))
   t2 = (1/(√(ka)))arctanh((√(k/a)) vc    )

本ゲーム内では、
 a = 3.5km/時/秒 = 3500/3600 m/秒/秒、
 k = 0.000707 m-1
なので、主な速度と制動距離の関係を示すと、下表のようになる。

制動距離が以下の式で求まる理由を説明する。

 vc<0 の場合、
  (1/k)( ln(cos ((√(ka))t2)) - ln(cos((√(ka))t1))) + vc(t2 - t1)
  ただし、
   t1 = (1/(√(ka)))arctan ((√(k/a))(vc - v0))
   t2 = (1/(√(ka)))arctan ((√(k/a)) vc    )
 vc≧0 の場合、
  (1/k)(- ln(cosh((√(ka))t2)) - ln(cos((√(ka))t1))) + vc(t2 - t1)
  ただし、
   t1 = (1/(√(ka)))arctan ((√(k/a))(vc - v0))
   t2 = (1/(√(ka)))arctanh((√(k/a)) vc    )

ここでは、速度が vc のときの時刻を 0 とする。

まず、vc<0 の場合の制動距離を求める。

時刻 t のときの速度は、以下の式で求まる(理由は後で説明)。

 (√(a/k))tan (- (√(ka))t) + vc

ブレーキ開始時刻 t1 を求めると、

 (√(a/k))tan(- (√(ka))t1) + vc = v0
 (√(a/k))tan(- (√(ka))t1) = v0 - vc
 tan(- (√(ka))t1) = (√(k/a))(v0 - vc)
 - (√(ka))t1 = arctan((√(k/a))(v0 - vc))
 t1 = - (1/(√(ka)))(arctan((√(k/a))(v0 - vc)))
 t1 = (1/(√(ka)))arctan((√(k/a))(vc - v0))

停止時刻 t2 を求めると、

 (√(a/k))tan(- (√(ka))t2) + vc = 0
 (√(a/k))tan(- (√(ka))t2) = - vc
 tan(- (√(ka))t2) = (√(k/a))(- vc)
 - (√(ka))t2 = arctan((√(k/a))(- vc))
 t2 = - (1/(√(ka)))(arctan((√(k/a))(- vc)))
 t2 = (1/(√(ka)))arctan((√(k/a)) vc )

制動距離は、速度を t で t1 から t2 まで定積分することで求まる。
速度を t で不定積分すると、

 (1/k)ln|cos ((√(ka))t)| + vct + CL  ただし、CL は積分定数。

になる(理由は後で説明)から、制動距離は、以下の式で求まる。

 ((1/k)ln|cos((√(ka))t2)| + vct2)) - ((1/k)ln|cos((√(ka))t1)| + vct1))
= (1/k)(ln|cos((√(ka))t2)| - ln|cos((√(ka))t1)|) + vc(t2 - t1)

(√(ka))t1 と (√(ka))t2 は arctan の結果だから、
|(√(ka))t1|<π/2 かつ |(√(ka))t2|<π/2 なので、
cos((√(ka))t1)>0 かつ cos((√(ka))t2)>0 となり、制動距離は、結局、以下の式で求まる。

 (1/k)(ln(cos((√(ka))t2)) - ln(cos((√(ka))t1))) + vc(t2 - t1)

次に、vc≧0 の場合の制動距離を求める。

時刻 t のときの速度は、以下の式で求まる(理由は後で説明)。

 v≧vc のとき、(√(a/k))tan (- (√(ka))t) + vc
 v<vc のとき、(√(a/k))tanh(- (√(ka))t) + vc

ブレーキ開始時刻 t1 を求めると、

 (√(a/k))tan(- (√(ka))t1) + vc = v0
 (√(a/k))tan(- (√(ka))t1) = v0 - vc
 tan(- (√(ka))t1) = (√(k/a))(v0 - vc)
 - (√(ka))t1 = arctan((√(k/a))(v0 - vc))
 t1 = - (1/(√(ka)))(arctan((√(k/a))(v0 - vc)))
 t1 = (1/(√(ka)))arctan((√(k/a))(vc - v0))

停止時刻 t2 を求めると、

 (√(a/k))tanh(- (√(ka))t2) + vc = 0
 (√(a/k))tanh(- (√(ka))t2) = - vc
 tanh(- (√(ka))t2) = (√(k/a))(- vc)
 - (√(ka))t2 = arctanh((√(k/a))(- vc))
 t2 = - (1/(√(ka)))(arctanh((√(k/a))(- vc)))
 t2 = (1/(√(ka)))arctanh((√(k/a)) vc )

制動距離は、速度を t で t1 から t2 まで定積分することで求まる。
速度を t で不定積分すると、

 v≧vc のとき、 (1/k)ln|cos ((√(ka))t)| + vct + CL  ただし、CL は積分定数。
 v<vc のとき、- (1/k)ln|cosh((√(ka))t)| + vct + CL  ただし、CL は積分定数。

になる(理由は後で説明)から、制動距離は、以下の式で求まる。

 (((1/k)ln|cos(0)|) - ((1/k)ln|cos((√(ka))t1)| + vct1))
  + ((- (1/k)ln|cosh((√(ka))t2)| + vct2) - (- (1/k)ln|cosh(0)|))
= (1/k)(- ln|cosh((√(ka))t2)| + ln|cosh(0)| + ln|cos(0)| - ln|cos((√(ka))t1)|)
  + vc(t2 - t1)
= (1/k)(- ln|cosh((√(ka))t2)| + ln|1| + ln|1| - ln|cos((√(ka))t1)|) + vc(t2 - t1)
= (1/k)(- ln|cosh((√(ka))t2)| - ln|cos((√(ka))t1)|) + vc(t2 - t1)

(√(ka))t1 は arctan の結果だから |(√(ka))t1|<π/2 なので、cos((√(ka))t1)>0 となり、
また、cosh((√(ka))t2)>0 だから、制動距離は、結局、以下の式で求まる。

 (1/k)(- ln(cosh((√(ka))t2)) - ln(cos((√(ka))t1))) + vc(t2 - t1)

時刻 t の速度が以下の式で求まる理由を説明する。

 v≧vc のとき、(√(a/k))tan (- (√(ka))t) + vc
 v<vc のとき、(√(a/k))tanh(- (√(ka))t) + vc

まず、v≧vc のときの速度を求める。

a, k, vc, v, t の間には、以下の微分方程式が成り立つ。

 dv/dt = - k(v - vc)2 - a

v = (√(a/k))w + vc とおくと、
 
 (d/dt)((√(a/k))w + vc) = - k((√(a/k))w)2 - a
 (d/dt)((√(a/k))w) = - k(a/k)w2 - a
 (√(a/k))(dw/dt) = - aw2 - a
 (√(a/k))(dw/dt) = - a(1 + w2)
 (1/(1 + w2))(dw/dt) = - a/(√(a/k))
 (1/(1 + w2))(dw/dt) = - √(ka)
 ∫(1/(1 + w2))(dw/dt)dt = ∫(- (√(ka)))dt
 ∫(1/(1 + w2))dw = - (√(ka))∫dt
 arctan(w) + C1 = - (√(ka))(t + C2)
 arctan(w) = - (√(ka))t - (√(ka))C2 - C1

- (√(ka))C2 - C1 を C で表すと、

 arctan(w) = - (√(ka))t + C
 arctan(w) = C - (√(ka))t
 w = tan(C - (√(ka))t)

先ほど v = (√(a/k))w + vc とおいたから、それに上の結果を代入すると、

 v = (√(a/k))tan(C - (√(ka))t) + vc

t = 0 のとき v = vc だから、

 (√(a/k))tan(C - (√(ka))・0) + vc = vc
 (√(a/k))tan(C) = 0
 tan(C) = 0
 C = 0

次に、v<vc のときの速度を求める。

a, k, vc, v, t の間には、以下の微分方程式が成り立つ。

 dv/dt = k(v - vc)2 - a

v = (√(a/k))w + vc とおくと、
 
 (d/dt)((√(a/k))w + vc) = k((√(a/k))w)2 - a
 (d/dt)((√(a/k))w) = k(a/k)w2 - a
 (√(a/k))(dw/dt) = aw2 - a
 (√(a/k))(dw/dt) = - a(1 - w2)
 (1/(1 - w2))(dw/dt) = - a/(√(a/k))
 (1/(1 - w2))(dw/dt) = - √(ka)
 ∫(1/(1 - w2))(dw/dt)dt = ∫(- (√(ka)))dt
 ∫(1/(1 - w2))dw = - (√(ka))∫dt
 arctanh(w) + C1 = - (√(ka))(t + C2)
 arctanh(w) = - (√(ka))t - (√(ka))C2 - C1

- (√(ka))C2 - C1 を C で表すと、

 arctanh(w) = - (√(ka))t + C
 arctanh(w) = C - (√(ka))t
 w = tanh(C - (√(ka))t)

先ほど v = (√(a/k))w + vc とおいたから、それに上の結果を代入すると、

 v = (√(a/k))tanh(C - (√(ka))t) + vc

t = 0 のとき v = vc だから、

 (√(a/k))tanh(C - (√(ka))・0) + vc = vc
 (√(a/k))tanh(C) = 0
 tanh(C) = 0
 C = 0

速度を t で不定積分すると以下の式になる理由を説明する。

 v≧vc のとき、 (1/k)ln|cos ((√(ka))t)| + vct + CL  ただし、CL は積分定数。
 v<vc のとき、- (1/k)ln|cosh((√(ka))t)| + vct + CL  ただし、CL は積分定数。

まず、v≧vc のときの速度 v を t で不定積分した結果を求める。

  ∫vdt
 = ∫((√(a/k))tan(- (√(ka))t) + vc)dt
 = (√(a/k))∫tan(- (√(ka))t)dt + vc∫dt

t = - θ/(√(ka)) とおくと、

  ∫vdt
 = (√(a/k))∫tan(θ)dt + vc∫dt
 = (√(a/k))∫tan(θ)(dt/dθ)dθ + vc∫dt
 = (√(a/k))∫tan(θ)(- 1/(√(ka)))dθ + vc∫dt
 = - ((√(a/k))/(√(ka)))∫tan(θ)dθ + vc∫dt
 = - (1/k)∫tan(θ)dθ + vc∫dt
 = - (1/k)(- ln|cos(θ)| + C3) + (vct + C4)
 = (1/k)ln|cos(θ)| + vct + C4 - (1/k)C3

C4 - (1/k)C3 を CL で表すと、

  ∫vdt
 = (1/k)ln|cos(θ)| + vct + CL

先ほど t = - θ/(√(ka)) とおいたから、θ = - (√(ka))t なので、

  ∫vdt
 = (1/k)ln|cos(- (√(ka))t)| + vct + CL
 = (1/k)ln|cos( (√(ka))t)| + vct + CL

次に、v<vc のときの速度 v を t で不定積分した結果を求める。

  ∫vdt
 = ∫((√(a/k))tanh(- (√(ka))t) + vc)dt
 = (√(a/k))∫tanh(- (√(ka))t)dt + vc∫dt

t = - θ/(√(ka)) とおくと、

  ∫vdt
 = (√(a/k))∫tanh(θ)dt + vc∫dt
 = (√(a/k))∫tanh(θ)(dt/dθ)dθ + vc∫dt
 = (√(a/k))∫tanh(θ)(- 1/(√(ka)))dθ + vc∫dt
 = - ((√(a/k))/(√(ka)))∫tanh(θ)dθ + vc∫dt
 = - (1/k)∫tanh(θ)dθ + vc∫dt
 = - (1/k)(ln|cosh(θ)| + C3) + (vct + C4)
 = - (1/k)ln|cosh(θ)| + vct + C4 - (1/k)C3

C4 - (1/k)C3 を CL で表すと、

  ∫vdt
 = - (1/k)ln|cosh(θ)| + vct + CL

先ほど t = - θ/(√(ka)) とおいたから、θ = - (√(ka))t なので、

  ∫vdt
 = - (1/k)ln|cosh(- (√(ka))t)| + vct + CL
 = - (1/k)ln|cosh( (√(ka))t)| + vct + CL

関連商品

和書 鉄道

DVD 鉄道

プレイステーション2 電車