放物線を描くための式#2
id:yellow_73:20090805#p2 を性懲りもなくもう一回やってみた。
ミスがあったしorz
水平方向について、運動方程式は
m*x''=-k*x' (x'',x'はそれぞれ時間に関する二階微分と一階微分)
これをラプラス変換してみると
m*(s**2*X-s*x0-vx0)=-k*(s*X-x0)
代数方程式としてXについて解くと
X = ( s*x0 + vx0 + x0*k/m ) / ( s*(s+k/m) ) = (vx0*(m/k)+x0)/s + (-vx0*(m/k))/(s+m/k)
逆変換すると、
x(t) = vx0*(m/k)+x0 - vx0*(m/k)*exp(-(m/k)*t)
鉛直方向については、重力加速度がついているので、
m*y''=-m*g-k*y'
と若干難しくなります。
v(t)=y' と速度に関する方程式と考えると、もうちょっと見やすくなります。
m*v'=-m*g-k*v
で、同じくラプラス変換すると、
m*(s*V-vy0)=-m*g/s-k*V
Vについて解くと
V = ( vy0-g/s ) / ( s*(s+k/m) ) = (-g*m/k)/s + (vy0+g*m/k)/(s+k/m)
逆変換したら(こっそりvをvyにもどす)
vy = -g*m/k + (vy0+g*m/k)*exp(-(k/m)*t)
積分すると
y = -g*m/k*t - (m/k)*(vy0+g*m/k)*exp(-(k/m)*t) + C
y|t=0 = y0 より
y0 = -(m/k)*(vy0+g*m/k) + C C = y0+(m/k)*(vy0+g*m/k) y = -g*m/k*t - (m/k)*(vy0+g*m/k)*exp(-(k/m)*t) + y0 + (m/k)*(vy0+g*m/k)
…やってみたけど自信はあまりない。ていうか、書いてておかしいと思いつつポストしては確かめて間違いが発見されてorz (ここはたぶんずっと変わらない)