前節の例 2.2 を Mathematica を使って解いてみよう。
Mathematica には、 微分方程式 (differential equation) を解くための DSolve[ ] という関数がある。 微分方程式 (1) と初期条件 (3) を与えれば解を求めてくれる。
以下では念のため最初に Remove[] で掃除している (Mathematica 起動直後ならば不要)。
Remove["Global`*"]
DSolve[{x''[t] == 0, y''[t] == -g,
x[0] == 0, y[0] == 0,
x'[0] == v Cos[theta], y'[0]== v Sin[theta]},
{x, y}, t]
または
DSolve[{x''[t] == 0, y''[t] == -g,
x[0] == 0, y[0] == 0,
x'[0] == v Cos[theta], y'[0]== v Sin[theta]},
{x[t], y[t]}, t]
|
解や軌跡を図示してみよう。そのためには、 sol=x[t],y[t]/.DSolve[...] として、変数 (ここでは sol) に代入しておくのが便利である。 また、g, v, theta なども 具体的な数値を与える必要がある。
sol={x[t],y[t]} /. DSolve[{x''[t] == 0, y''[t] == -g,
x[0] == 0, y[0] == 0,
x'[0] == v Cos[theta], y'[0]== v Sin[theta]},
{x[t], y[t]}, t]
g1=Plot[sol /. {g->9.8, v-> 20, theta->45Degree}, {t,0, 2}]
g2=ParametricPlot[sol /. {g -> 9.8, v -> 20, theta -> 45 Degree}, {t, 0,3}]
Export["projection.eps",g2]
|
|
|