Wolfram言語

記号的微積分と数値的微積分

等時曲線問題を解く

等時曲線問題では,曲線の任意の場所に置かれたビーズがすべて同じ時間で底まで落ちる,そのような曲線を見付けることが必要となる.曲線の弧長と速度 について合計の落下時間を表すと,アーベル(Abel)積分方程式 になる.関係 によって未知の関数 を定義し,エネルギー保存方程式を使うと,以下の明示的な方程式になる.

In[1]:=
Click for copyable input
abeleqn = T == 1/Sqrt[2 g] \!\( \*SubsuperscriptBox[\(\[Integral]\), \(0\), \(y\)]\( \*FractionBox[\(h[z]\), SqrtBox[\(y - z\)]] \[DifferentialD]z\)\);

DSolveValueを使って,積分方程式を解く.

In[2]:=
Click for copyable input
dsdy = DSolveValue[abeleqn, h[y], y]
Out[2]=

関係 を使って について解く.

In[3]:=
Click for copyable input
dxdy = Sqrt[dsdy^2 - 1]
Out[3]=

曲線を原点から開始し積分すると, の関数ととして得られる.連想は,被積分関数が実数値であることを確実にすることに注目のこと.

In[4]:=
Click for copyable input
x[y_] = Integrate[dxdy, {y, 0, y}, Assumptions -> (2 g (T^2) )/(\[Pi]^2 y) > 1 && y > 0]
Out[4]=

2秒の下降時間を使い,重力加速度の値に代入して,等時曲線の最大曲線をプロットする(分岐 の導関数に対する解 に由来する).

In[5]:=
Click for copyable input
Show[ParametricPlot[{{x[y], y}, {-x[y], y}} /. {g -> 9.8, T -> 2}, {y, 0, (2 (9.8) 2^2)/\[Pi]^2}], ImageSize -> Medium]
Out[5]=

変数 を変化させると, における単純で非特異な曲線のパラメータ化を与える.

In[6]:=
Click for copyable input
c[\[Theta]_] = ( g T^2)/\[Pi]^2 {Sin[\[Theta]] + \[Theta], 1 - Cos[\[Theta]]} ;

エネルギー保存方程式と連鎖律を組み合せると, の関数とした以下の微分方程式が生成される.これは数値的に解くことができる.

In[7]:=
Click for copyable input
\[Theta]' == \[PlusMinus]FullSimplify[ Sqrt[ 2 g (Last[c[\[Theta]Max]] - Last[c[\[Theta]]])] /Sqrt[ c'[\[Theta]].c'[\[Theta]]] , g > 0 && T > 0]
Out[7]=

等時曲線に沿った運動を可視化する.

動画を開始
動画を中止

関連する例

de en es fr ko pt-br ru zh