弾性衝突

1次元的に質耐m1, m2の物体が弾性衝突する場合を考えよう.運動エネルギーと運動耐が保存されている.衝突前の速さをvi1, vi2とし、衝突後の速さをvf1, vf2とする.以下のようにして運動方程式を解く.

solution=Solve[{m1 vi1+ m2 vi2==m1 vf1 +m2 vf2, 
m1 vi1^2/2 +m2 vi2^2/2 ==m1 vf1^2/2 +m2 vf2^2/2},
{vf1, vf2}]

問1 最初の解{vf1->vi1,vf2->vi2}は何を意味するか.

なお、Reduceはより“正確”に連立方程式を解く.

Reduce[{m1 vi1+ m2 vi2==m1 vf1 +m2 vf2, 
m1 vi1^2/2 +m2 vi2^2/2 ==m1 vf1^2/2 +m2 vf2^2/2},
{vf1, vf2}]

さて、ここでsolutionの解を次のように定義に使う.

vfinal1=vf1/.solution[[2]]

vfinal2=vf2/.solution[[2]]

以下のコマンドを実行すれば図が沢山作れる.図を全部選んでメニューからAnimationを選べばアニメーションをみることができる.{m1, m2, vi1, vi2} の値を変えることによりいろいろな初期条件の弾性衝突のアニメーションがつくれる.試してください.

{m1, m2, vi1, vi2} ={.5, 2,2, -1};
x1[t_] :=If[t<0,vi1 t, vfinal1 t]
x2[t_] :=If[t<0,vi2 t, vfinal2 t]
Do[Show[Graphics[{{Hue[1], PointSize[5m1/100],
Point[{x1[t], 0}]},
{Hue[.6], PointSize[5m2/100],
Point[{x2[t], 0}]}}],
PlotRange->{{-3, 3}, {-1, 1}}],
{t,-1, 1, .1}]

問2上のプログラムで
x1[t_] :=If[t<0,vi1 t, vfinal1 t]
はいかなることを意味するか.?Ifで調べてください.

非弾性衝突

上と同様に、1次元的に質耐m1, m2の物体が弾性衝突する場合を考えよう.運動耐が保存されているが運動エネルギーは保存されない.反発係数をeとする.衝突前の速さをvi1, vi2とし、衝突後の速さをvf1, vf2とする.以下のようにして運動方程式を解く.

[Graphics:CollisionAPgr2.gif][Graphics:CollisionAPgr26.gif]

solution1=Solve[{m1 vi1+ m2 vi2==m1 vf1 +m2 vf2, 
vi2-vi1 ==-1/e (vf2-vf1)},
{vf1, vf2}]

さて、ここでsolutionの解を次のように定義に使う.

vinelasticfinal1=vf1/.solution[[1]]

vinelasticfinal2=vf2/.solution[[1]]

この解がe=1のとき上のvfinal1,vfinal2と同じであることを確かめる.

Simplify[vfinal1 - vinelasticfinal1 == 0/.e->1]
[Graphics:CollisionAPgr2.gif][Graphics:CollisionAPgr31.gif]

問3 上のコマンドの意味を説明せよ.

以下のコマンドを実行すれば図が沢山作れる.図を全占選んでメニューからAnimationを選べばアニメーションをみることができる.{m1, m2, vi1, vi2, e}の値を変えることによりいろいろな初期条件の非弾性衝突のアニメーションがつくれる.試してください.

{m1, m2, vi1, vi2, e} ={.5, .7, -1, 0.1,0.1};
x1[t_] :=If[t<0,vi1 t, vinelasticfinal1 t]
x2[t_] :=If[t<0,vi2 t, vinelasticfinal2 t]
Do[Show[Graphics[{{Hue[1], PointSize[5m1/100],
Point[{x1[t], 0}]},
{Hue[.6], PointSize[5m2/100],
Point[{x2[t], 0}]}}],
PlotRange->{{-3, 3}, {-1, 1}}],
{t,-3, 5, .2}]

問4上のプログラムでeの値を1にしてアニメーションを作りなさい.e=0.1の場合と比べてどう変わったか.物理的な解釈を述べなさい.

問5 衝突前後の運動エネルギーの差をもとめて以下のようであることを示しなさい.(Simplifyを使う).なお、Clearで上の定義を消すことを忘れないように.

[Graphics:CollisionAPgr2.gif][Graphics:CollisionAPgr32.gif]
[Graphics:CollisionAPgr2.gif][Graphics:CollisionAPgr33.gif]